1 条题解

  • 0
    @ 2026-6-8 13:19:49
    #include<bits/stdc++.h>
    using namespace std;
    #define N 20
    vector<int>e[N];
    int ans,p[N];
    int main()
    {
    	int n,m;scanf("%d%d",&n,&m);
    	for(int i=1,k;i<=m;i++)
    	{
    		scanf("%d",&k);
    		for(int j=1,x;j<=k;j++)
    		{
    			scanf("%d",&x);
    			e[i].push_back(x);
    		}
    	}
    	for(int i=1;i<=m;i++)scanf("%d",&p[i]);
    	for(int S=0;S<(1<<n);S++)
    	{
    		bool bk=0;
    		for(int i=1;i<=m;i++)
    		{
    			int s=0;
    			for(int j:e[i])
    				if((1<<j-1)&S)s++;
    			if(s%2!=p[i]){bk=1;break;}
    		}
    		if(!bk)ans++;
    	}
    	printf("%d\n",ans);return 0;
    }
    
    • 1

    信息

    ID
    11665
    时间
    2000ms
    内存
    1024MiB
    难度
    8
    标签
    递交数
    93
    已通过
    15
    上传者