8 条题解
-
0
using namespace std; int xz[10000],cnt=0; int t,n,z,x; int check(int x){ for(int i=1;i<=n;i++){ if((xz[i]&x)==xz[i]){ return 0; } } return 1; } void quicksort(int a[],int left,int right){ if(left>=right){ return ; } int t=a[left]; int i=left,j=right; while(i<j){ while(i<j&&a[j]>=t) j--; while(i<j&&a[i]<=t) i++; if(i<j){ swap(a[i],a[j]); } } swap(a[i],a[left]); quicksort(a,left,i-1); quicksort(a,i+1,right); } int main(){ cin>>t>>n; for(int i=1;i<=n;i++){ cin>>z; for(int j=1;j<=z;j++){ cin>>x; xz[i]=xz[i] | 1<<(x-1); } } for(int i=0;i<(1<<t);i++){ if(check(i)){ cnt++; } } cout<<cnt; return 0; }
信息
- ID
- 2549
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 199
- 已通过
- 68
- 上传者