4 条题解

  • 2
    @ 2025-7-7 9:33:48
    #include<bits/stdc++.h>
    #define ll long long
    using namespace std;
    ll x[11]={70,0,0,1,0,1,0,0,1,0,0},
       y[11]={50,0,1,1,1,0,1,0,1,1,1},
       z[11]={30,0,1,1,1,0,0,0,1,0,1},
       a[11]={0,0,0,1,1,1,0,0,1,1,1},
       v[11],f,ans;
    bool check(){
    	int i,j,k;
    	a[0]=i=j=k=0;
    	for(int ii=1;ii<=10;ii++){
    		if(x[ii]==v[ii]) i+=10;
    		if(y[ii]==v[ii]) j+=10;
    		if(z[ii]==v[ii]) k+=10;
    		if(a[ii]==v[ii]) a[0]+=10;
    	}
    	if(i==70&&j==50&&k==30) return true;
    	return false;
    }
    void dfs(int deep){
    	if(f) return;
    	if(deep>10){
    		if(check()){
    			f=1;
    			ans=a[0];
    		}
    		return;
    	}
    	dfs(deep+1);
    	v[deep]=1;
    	dfs(deep+1);
    	v[deep]=0;
    	return;
    }
    int main(){
    	dfs(1);
    	cout<<ans;
    }
    
    • 2
      @ 2025-7-7 9:28:45
      #include<bits/stdc++.h>
      using namespace std;
      long long y,a[11]={0},b[11]={0,0,0,1,0,1,0,0,1,0,0},c[11]={0,0,1,1,1,0,1,0,1,1,1},d[11]={0,0,1,1,1,0,0,0,1,0,1},e[11]={0,0,0,1,1,1,0,0,1,1,1},bb,cc,dd,ee,f;
      void dfs(long long x){
      	bb=cc=dd=ee=0;
      	if(f==1){
      		return ;
      	}
      	if(x>10){
      		for(int i=1;i<=10;i++){
      			if(a[i]==b[i]){
      				bb+=10;
      			}
      			if(a[i]==c[i]){
      				cc+=10;
      			}
      			if(a[i]==d[i]){
      				dd+=10;
      			}
      			if(a[i]==e[i]){
      				ee+=10;
      			}
      		}
      		if(bb==70&&cc==50&&dd==30){
      			f=1;
      			cout<<ee;
      			return ;
      		}
      		return ;
      	}
      	dfs(x+1);
      	a[x]=1;
      	dfs(x+1);
      	a[x]=0;
      	return ;
      }
      int main(){
      	dfs(1);
      	return 0;
      }
      
      • 2
        @ 2025-7-7 9:06:49
        #include<bits/stdc++.h>
        using namespace std;
        int a[5]={164,471,453,231};
        int b[5];
        int main()
        {
        	int n=10;
        	for(int i=0;i<=1<<n;i++)
        	{
        		for(int j=0;j<4;j++){
        			int t=a[j],kk2=i,k=10;
        			while(k--)
        			{
        				if((t&1)==(kk2&1))
        					b[j]++;
        				t>>=1;
        				kk2>>=1;
        			}
        		}
        		if(b[0]==7&&b[1]==5&&b[2]==3)
        		{
        			cout<<b[3]*10;
        		return 0;
        		}
        		for(int j=0;j<4;j++)
        			b[j]=0;
        	}
        	return 0;
        }
        
        #include<bits/stdc++.h>
        using namespace std;
        int main()
        {
        cout<<60;
        return 0;
        }
        
        • 0
          @ 2025-7-7 9:32:17
          #include<bits/stdc++.h>
          #define ll long long
          using namespace std;
          ll x[11]={70,0,0,1,0,1,0,0,1,0,0},
             y[11]={50,0,1,1,1,0,1,0,1,1,1},
             z[11]={30,0,1,1,1,0,0,0,1,0,1},
             a[11]={0,0,0,1,1,1,0,0,1,1,1},
             v[11],f,ans;
          bool check(){
          	int i,j,k;
          	a[0]=i=j=k=0;
          	for(int ii=1;ii<=10;ii++){
          		if(x[ii]==v[ii])i+=10;
          		if(y[ii]==v[ii])j+=10;
          		if(z[ii]==v[ii])k+=10;
          		if(a[ii]==v[ii])a[0]+=10;
          	}
          	if(i==70&&j==50&&k==30)return true;
          	return false;
          }
          void dfs(int deep){
          	if(f)return;
          	if(deep>10){
          		if(check()){
          			f=1;
          			ans=a[0];
          		}
          		return;
          	}
          	dfs(deep+1);
          	v[deep]=1;
          	dfs(deep+1);
          	v[deep]=0;
          	return;
          }
          int main()
          {
          	dfs(1);
          	cout<<ans;
          	return 0;
          }
          
          • 1

          信息

          ID
          629
          时间
          1000ms
          内存
          256MiB
          难度
          6
          标签
          (无)
          递交数
          107
          已通过
          31
          上传者