9 条题解

  • 1
    @ 2026-2-27 15:40:26

    包AC

    #include<bits/stdc++.h>
    using namespace std;
    int n,t,xz[100005],x,z,ans;
    bool p(int x)
    {
    	for(int i=1;i<=n;i++)
    	{
    		if((x&xz[i])==xz[i])return 0;
    	}
    	return 1;
    }
    signed main()
    {
    	ios::sync_with_stdio(0);
    	cin.tie(0);
    	cin>>t>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>x;
    		while(x--)
    		{
    			cin>>z;
    			xz[i]=xz[i]|(1<<(z-1));
    		}
    	}
    	for(int i=0;i<(1<<t);i++)
    	{
    		if(p(i))ans++;
    	}
    	cout<<ans;
    	return 0;
    }
    
    • -1
      @ 2024-4-15 20:52:21

      #include <bits/stdc++.h> using namespace std; int xz[114524],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; } int main(){ // 1 1 1 1 1 1 6个原料都用 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++){ // 枚举 1- 11111 if(check(i)) cnt++; } cout<<cnt; }

      • -1
        @ 2024-4-15 20:51:42
        using namespace std;
        int xz[10000],cnt=0,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;
        }
        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;
        }
        
        • -1
          @ 2024-4-15 20:51:16

          #include<bits/stdc++.h> using namespace std; int xz[10000],cnt=0,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; } 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;

          }

          • -1
            @ 2024-4-15 20:50:47
            #include<bits/stdc++.h>
            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;
            }
            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;
            }
            
            • -1
              @ 2024-4-15 20:49:46

              #include<bits/stdc++.h> using namespace std; int xz[10000],cnt=0,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; } 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;
              

              }

              • -1
                @ 2024-4-15 20:49:44

                #include<bits/stdc++.h> 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; } 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; }

                • -1
                  @ 2024-4-15 20:49:26

                  #include<bits/stdc++.h> using namespace std; int xz[10000],cnt=0,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; } 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;
                  

                  }

                  • -1
                    @ 2024-4-15 20:49:23
                    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;
                    }
                    
                    
                    
                    • 1

                    信息

                    ID
                    2549
                    时间
                    1000ms
                    内存
                    256MiB
                    难度
                    5
                    标签
                    递交数
                    248
                    已通过
                    88
                    上传者