1.题意

任务是猜一个四位数,每次尝试后会给出这次猜中了几个数字和猜中了几个位置,求能否根据尝试的记录给出答案

2.分析

数据给出查询次数和每次查询的数及其有几个数和几个位置符合,值得注意的是,猜对的数的个数计算不能重复,比如样例里要猜1122,尝试1234,这里只有两个数猜中了,1122中的前两个1只能算一次

注意题目限定是四位数所以直接枚举1000-9999就可以了

3.代码

 1 # include <iostream>
 2 # include <cstdio>
 3 using namespace std;
 4 const int maxn=105;
 5 int N,ans;
 6 struct Node
 7 {
 8     int test_num,a,b;
 9     Node(){}
10     Node(int tt,int aa,int bb)
11     {
12         test_num=tt;
13         a=aa;
14         b=bb;
15     }
16 }Test[maxn];
17 void Init()
18 {
19     for(int i=0;i<N;i++)
20         scanf("%d%d%d",&Test[i].test_num,&Test[i].a,&Test[i].b);
21     ans=-1;
22 }
23 bool judge(int num)
24 {
25     int np[4],nptest[4];
26     np[0]=num%10;
27     np[1]=(num%100)/10;
28     np[2]=(num%1000)/100;
29     np[3]=num/1000;
30     for(int i=0;i<N;i++)
31     {
32         nptest[0]=Test[i].test_num%10;
33         nptest[1]=(Test[i].test_num%100)/10;
34         nptest[2]=(Test[i].test_num%1000)/100;
35         nptest[3]=Test[i].test_num/1000;
36         int tempa,tempb;
37         tempa=tempb=0;
38         int vis[4];
39         for(int j=0;j<4;j++) vis[j]=0;
40         for(int j=0;j<4;j++)
41         {
42             if(np[j]==nptest[j]) tempb++;
43             for(int k=0;k<4;k++)
44             {
45                 if(np[j]==nptest[k]&&vis[k]==0)
46                 {
47                     vis[k]=1;
48                     tempa++;
49                     break;
50                 }
51             }
52         }
53         if(tempa==Test[i].a&&tempb==Test[i].b)
54             continue;
55         else return false;
56     }
57     return true;
58 }
59 int getcnt()
60 {
61     int cnt=0;
62     for(int i=1000;i<10000;i++)
63         if(judge(i))
64         {
65             ans=i;
66             cnt++;
67         }
68     return cnt;
69 }
70 void Solve()
71 {
72     int temp=getcnt();
73     if(temp==1) printf("%d\n",ans);
74     else printf("Not sure\n");
75 }
76 int main()
77 {
78     while(scanf("%d",&N)!=EOF)
79     {
80         if(N==0) break;
81         Init();
82         Solve();
83     }
84     return 0;
85 }

转载于:https://www.cnblogs.com/cnXuYang/p/8653239.html

HDU1172猜数字 [模拟]相关推荐

  1. HDU1172 猜数字【暴力+进制】

    猜数字 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  2. hdu1172 猜数字(java)

    每日一看 题意: /** * @param args * 猜数字游戏是gameboy最喜欢的游戏之一.游戏的规则是这样的: * 计算机随机产生一个四位数,然后玩家猜这个四位数是什么. * 每猜一个数, ...

  3. hdu1172猜数字

    猜数字 Problem Description 猜数字游戏是gameboy最喜欢的游戏之一.游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么.每猜一个数,计算机都会告诉玩家猜对 ...

  4. HDU-1172 猜数字

    猜数字游戏是gameboy最喜欢的游戏之一.游戏的规则是这样的:计算机随机产生一个四位数,然后玩家猜这个四位数是什么.每猜一个数,计算机都会告诉玩家猜对几个数字,其中有几个数字在正确的位置上. 比如计 ...

  5. hdu---1172猜数字

    题意: 系统生成一个四位数,你猜n次,每次告诉你对的数字有几个,和对的位置有几个.n次之后问你能否确定这个数 题目链接 tips: 1.枚举法,正难则反,由条件去确定太繁琐时,可以枚举去验证每个条件 ...

  6. HDU-1172 猜数字 广搜

    http://acm.hdu.edu.cn/showproblem.php?pid=1172 这题要换个思维,不要想着如何通过已有的条件来得到正确的值,而是枚举0000-9999这10000个数,看满 ...

  7. 模拟登录,给三次机会,并提示还有几次。如果登录成功,就可以玩猜数字小游戏了。

    1.猜字谜小游戏 *随机生成一个数 *从键盘录入一个数与随机数进行比较,判断是大了还是小了 * */ package test1;import java.util.Scanner;public cla ...

  8. 猜数字游戏 模拟用户登录场景 模拟屏幕输出 C语言代码实现详细

    范围在 0-100 的猜数字游戏 c语言代码实现 //1-100猜数字游戏 #include<stdio.h> #include<stdlib.h> //随机数函数头文件 #i ...

  9. 用C语言实现“模拟用户登录情景”、“猜数字小游戏”

    for循环,这种情况,break跳出循环,直接打印0123:记录一下 2.实现左右增加字符,如下图所示,要想到用数组,左右增加变量,再加入延迟,sleep的头文件是#<windows.h> ...

最新文章

  1. JS中怎样获取当前年以及前后几年并构造成对象数组
  2. MySQL基础 (DML)
  3. python terminator_Python turtle.Terminator方法代碼示例
  4. iOS核心动画之CoreAnimation
  5. “阿一web标准学堂”第1课:web标准概述(附视频、课件、代码下载)
  6. C语言格式化读写文件
  7. python爬虫什么意思-Python 爬虫是什么
  8. 《21天学通C语言(第7版)》一6.4 小 结
  9. win10远程连接win7电脑 -- 局域网实现
  10. 最全地理数据下载网址
  11. MobileNetV3 论文
  12. 父元素上是mousedown.prevent,子元素会被携带方法,还阻止不了怎么办?
  13. 实例:泰坦尼克号幸存者的预测
  14. 【数据科学家学习小组】之统计学(第二期)第一周(20191028-20191103)-momi
  15. 视频工厂分享vlog拍摄技巧
  16. 让人眼花缭乱的视错觉,太酷炫了!
  17. Excel实现给加单引号,以及加逗号
  18. MAC chrome浏览器地址栏无法搜索问题解决办法
  19. 不是码农,不会敲代码的她,却最懂程序员!| 人物志
  20. 新华三培训3---交换基础,VLAN之间路由

热门文章

  1. 德勤加入阿里云原生合作伙伴计划,强强联手开创数字化咨询新风向
  2. 技术干货 | 阿里云数据库PostgreSQL 13大版本揭秘
  3. 大促密集,CDN如何保障电商体验如丝般顺滑?
  4. 浙江大学计算机基础上机实验答案,2015年浙江大学远程教育计算机基础知识题及参考答案(2)...
  5. java gui 层次结构_javaGUI教学图形界面的层次结构.ppt
  6. pmp每日三题(2022年2月21日)
  7. 在狮驼岭,孙悟空救了猪八戒,猪八戒为何不帮孙悟空?
  8. 美团在Redis上踩过的一些坑-4.redis内存使用优化
  9. UNDO Retntion
  10. R 语言学习过程全记录 ~