hdu 1172 猜数字
来源:互联网 发布:成都外包seo 编辑:程序博客网 时间:2024/06/05 16:42
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1172
依照题意暴力枚举。
#include<cstdio>#include<cstring>using namespace std;struct node{int a,b,c;}num[101];int num1[5],num2[101];int mark[5];int main(){int n,ans,flag,m;while(scanf("%d",&n)&&n){for(int i=1;i<=n;i++)scanf("%d%d%d",&num[i].a,&num[i].b,&num[i].c);flag=m=0;for(int i=1000;i<=9999;i++){int count=0;flag=0;num2[4] = i%10;num2[3] = (i/10)%10;num2[2] = (i/100)%10;num2[1] = (i/1000);//枚举i,获得各位数 for(int l=1;l<=n;l++)//依次与输入的n个数比较,全部符合条件,则答案数量加一 {memset(mark,0,sizeof(mark));count=0;num1[4] = num[l].a%10;num1[3] = (num[l].a/10)%10;num1[2] = (num[l].a/100)%10;num1[1] = (num[l].a/1000);for(int j=1;j<=4;j++)if(num1[j]==num2[j]){count++;}if(count!=num[l].c){flag=1;break;}count = 0;for(int j=1;j<=4;j++)for(int k=1;k<=4;k++)if(num1[j]==num2[k]&&!mark[k]){count++;mark[k]=1;break;}if(count!=num[l].b){flag=1;break;}}if(flag)continue;//不符,继续枚举下一个数 else{m++;ans=i;}}if(m==1)//若答案唯一,则是唯一确定的,否则不能确定 printf("%d\n",ans);else printf("Not sure\n");}}
0 0
- hdu 1172 猜数字
- hdu 1172 猜数字
- hdu 1172 猜数字
- hdu(1172)猜数字
- hdu 1172 猜数字
- HDU-1172 猜数字
- hdu 1172 猜数字
- HDU 1172 猜数字
- hdu-1172 猜数字
- hdu 1172 猜数字
- Hdu 1172 猜数字
- hdu 1172 猜数字
- HDU 1172 猜数字
- HDU 1172 猜数字
- hdu 1172 猜数字
- HDU - 1172 猜数字
- HDU 1172 猜数字
- HDU:1172 猜数字
- ASP.NET Core Docker jexus部署-CentOS实践版
- web.xml中出现<servlet-name>default</servlet-name>是什么意思?
- Problem B: 类的初体验(IV)
- ife总结
- uestcoj 1312 Forming Lake
- hdu 1172 猜数字
- SPPNet-引入空间金字塔池化改进RCNN
- js递归树
- 安装scala
- Spark学习笔记(三)
- GET和POST方法的区别
- 01-AngularJS-简介
- Day_one
- nginx的请求处理