hdu 1172
来源:互联网 发布:线切割机床的编程格式 编辑:程序博客网 时间:2024/05/29 07:35
主题思想:暴力枚举,对每一个四位数进行判断,是否全部满足猜到的情况。
AC代码:
#include <iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=105;struct Node{ int a; int b; //the number of that a has equal with the dst number int c; //the number in the right position};Node node[maxn];int realNum[5];int guessNum[5];bool judge(int real,int j){ realNum[1]=real/1000; realNum[2]=(real%1000)/100; realNum[3]=(real%100)/10; realNum[4]=(real%10); guessNum[1]=node[j].a/1000; guessNum[2]=(node[j].a%1000)/100; guessNum[3]=(node[j].a%100)/10; guessNum[4]=(node[j].a%10); int cnt=0; for(int i=1;i<=4;i++){ if(realNum[i]==guessNum[i])cnt++; } if(cnt!=node[j].c) return false; bool mark[5]; for(int i=1;i<=4;i++) mark[i]=false; cnt=0; for(int i=1;i<=4;i++){ for(int j=1;j<=4;j++){ if(realNum[i]==guessNum[j]&&!mark[j]){ cnt++; mark[j]=true; break; // break to fine the next i } } } if(cnt!=node[j].b)return false; return true;}int main(){ int n; bool flag=true; int cnt=0; int ans=0; while(scanf("%d",&n)!=EOF){ if(n==0)break; for(int i=1;i<=n;i++){ scanf("%d%d%d",&node[i].a,&node[i].b,&node[i].c); } cnt=0; ans=0; // mei ju for(int i=1000;i<=9999;i++){ flag=true; for(int j=1;j<=n;j++){ if(!judge(i,j)){ flag=false; break; } } if(flag){ cnt++; ans=i; } } if(cnt==1){ printf("%d\n",ans); }else{ printf("Not sure\n"); } } return 0;}
阅读全文
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(dfs)
- hdu 1172 猜数字
- python 取出 Mongdb 中的数据 转化成DataFrame 然后用pandas处理数据
- js去除文本中的html标签
- 【概念普及】很通俗的解释一下RESTful(表现层状态转移)架构风格
- Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能-转自阿里中间件
- 【HDU 1711】Number Sequence 【KMP 模板】
- hdu 1172
- 头像处理-高斯模糊
- java 进制转换
- @SerializedName注解
- 44. Wildcard Matching
- 圆桌会议
- leetcode 547. Friend Circles
- 由海量数据想到的一点小事
- String比较常用的方法