杭电1172
2016-04-10 00:10
337 查看
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { int N,i,j,sum1,flag,flag2,sum2,sumall,Numfinal,k,t; int A[110],B[110],C[110]; int num[4]; int flag1[4]; int sum[4]; while(~scanf("%d",&N)&&N) { flag=true; sumall=0; for(i=1;i<=N;i++) { scanf("%d%d%d",&A[i],&B[i],&C[i]); } for(i=1000;i<=9999;i++) { //cout<<i<<endl; flag2=1; for(j=1;j<=N;j++) { sum1=0; memset(flag1,0,sizeof(flag1)); num[0]=A[j]/1000; num[1]=A[j]/100-num[0]*10; num[2]=A[j]/10-A[j]/100*10; num[3]=A[j]%10; sum[0]=i/1000; sum[1]=i/100-sum[0]*10; sum[2]=i/10-i/100*10; sum[3]=i%10; for(k=0;k<4;k++) { for(t=0;t<4;t++) { if(sum[k]==num[t]&&flag1[t]==0) { flag1[t]=1; sum1++; break; } } } if(sum1!=B[j]) { flag2=0; break; } else { sum2=0; if(sum[0]==num[0]) sum2++; if(sum[1]==num[1]) sum2++; if(sum[2]==num[2]) sum2++; if(sum[3]==num[3]) sum2++; if(sum2!=C[j]) { flag2=0; break; } } } if(flag2==0) continue; if(j>N&&flag2) { sumall++; Numfinal=i; if(sumall>=2) { flag=false; goto Exit; } } } Exit: if(flag) { cout<<Numfinal<<endl; } else printf("Not sure\n"); } return 0; }
相关文章推荐
- 比较ArrayList、LinkedList、Vector
- Android最佳实践之性能 - 电池续航时间优化
- 《LeetBook》leetcode题解(5):Longest Palindromic [M]——回文串判断
- 《LeetBook》leetcode题解(5):Longest Palindromic [M]——回文串判断
- 去哪儿 字符串替换
- Linux网络属性配置命令
- AngularJS数据绑定的最佳实践
- 2016.4.9
- 【GDOI模拟】奇妙的数列
- java socket 文件上传 有文件名
- [前端 3]纯Js制作俄罗斯方块游戏
- 文章标题
- 判断两矩形是否相交
- [前端 3]纯Js制作俄罗斯方块游戏
- iOS开发证书,描述文件,bundle ID的关系
- servlet 学习(二)
- PowerDesigner(八)-面向对象模型(用例图,序列图,类图,生成Java源代码及Java源代码生成类图)面向对象模型 面向对象模型是利用UML(统一建模语言)的图形来描述系统结构的模型,
- 项目管理之——如何优雅的做好离职交接工作?
- AngularJS简单的数据绑定
- 关于对clientX(Y)/pageX(Y)/screenX(Y)的认识