1 条题解
-
0
#include<bits/stdc++.h> using namespace std; #define int long long const int N=110; int c[N],a[N][N],pd[N]; bool bk[N]; signed main() { memset(bk,0,sizeof bk); int n,m,k;scanf("%lld%lld%lld",&n,&m,&k); for(int i=1;i<=m;i++) { scanf("%lld",&c[i]); for(int j=1;j<=c[i];j++) scanf("%lld",&a[i][j]); char r;cin>>r; if(r=='o')bk[i]=1; } int ans=0,res,sum; for(int S=0;S<(1<<n);S++) { memset(pd,0,sizeof pd); for(int i=1;i<=n;i++) if(S&(1<<(i-1)))pd[i]=1; res=1; for(int i=1;i<=m;i++) { sum=0; for(int j=1;j<=c[i];j++) sum+=pd[a[i][j]]; if((sum>=k&&bk[i]==0)||(sum<k&&bk[i]==1)) { res=0; break; } } ans+=res; } printf("%lld\n",ans); return 0; }
- 1
信息
- ID
- 1617
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 7
- 标签
- 递交数
- 26
- 已通过
- 7
- 上传者