4 条题解
-
2
#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
#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
#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
#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
- 上传者