8 条题解

  • 0
    @ 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; }

    • 0
      @ 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;
      }
      
      • 0
        @ 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;

        }

        • 0
          @ 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;
          }
          
          • 0
            @ 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;
            

            }

            • 0
              @ 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; }

              • 0
                @ 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;
                

                }

                • 0
                  @ 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
                  难度
                  6
                  标签
                  递交数
                  175
                  已通过
                  56
                  上传者