HDU 3006

来源:互联网 发布:淘宝五金店铺描述 编辑:程序博客网 时间:2024/06/05 15:13
#include<stdio.h>#include<string.h>int mark[1<<16];int main(){int i,j,n,m,k,t,tot;while(scanf("%d%d",&n,&m)!=EOF){memset(mark,0,sizeof(mark));for(i=1;i<=n;i++){scanf("%d",&t);tot=0;for(j=1;j<=t;j++){scanf("%d",&k);tot=tot|(1<<(k-1));}mark[tot]=1;for(j=1;j<(1<<m);j++){if(mark[j]){mark[j|tot]=1;}}}int ans=0;for(j=1;j<(1<<(m));j++){if(mark[j]) ans++;}printf("%d\n",ans);}}

0 0
原创粉丝点击