UVA340 Master-Mind Hints
来源:互联网 发布:软件外包行业发展趋势 编辑:程序博客网 时间:2024/04/26 15:31
/* UVA 340 - Master-Mind Hints 游戏:给出一串长度为n数字,猜这串数字,每次反馈回数字且位置对的个数a,数字对位置不对的个数b,每次返回(a,b).*/#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;int num[1005],ans[1005];int cntn[15],cnta[15],cnt[15];int main(){ int n,i,t = 1; while(cin >> n && n){ cout <<"Game " <<t++ <<":" <<endl; memset(cnt,0,sizeof(cnt)); for(i = 0;i < n;i++){ cin >>num[i]; cnt[num[i]]++; //记录要猜的数字串中各个数字的数量 } while(1){ int a = 0,b = 0; memset(cnta,0,sizeof(cnta)); memcpy(cntn,cnt,sizeof(cntn)); //注意:如果没有这一步,之前的操作会影响数字正确但位置不对时的统计 for(i = 0;i < n;i++){ cin >>ans[i]; cnta[ans[i]]++; } if(!ans[0]) break; for(i = 0;i < n;i++){ if(num[i] == ans[i]){ a++; cnta[ans[i]]--; cntn[num[i]]--; //若数字且位置相同,a++,在统计的个数中减一 } } for(i = 1;i < 10;i++){ b += (cntn[i] >= cnta[i])?cnta[i]:cntn[i]; //统计位置不正确的数字 } cout <<" (" <<a <<"," <<b <<")"<<endl; } } return 0;}
0 0
- uva340 - Master-Mind Hints
- UVa340 Master-Mind Hints
- UVA340 - Master-Mind Hints
- UVA340 Master-Mind Hints
- uva340 - Master-Mind Hints
- UVA340 - Master-Mind Hints
- UVa340 Master-Mind Hints
- uva340 Master-Mind Hints
- UVa340-Master-Mind Hints
- UVa340 Master-Mind Hints
- UVA340 UVALive5448 Master-Mind Hints
- Master-Mind Hints—UVa340
- Master-Mind Hints UVa340 排序&&查找
- UVa340——Master-Mind Hints
- 340 - Master-Mind Hints
- uva_340 - Master-Mind Hints
- uva_340 - Master-Mind Hints
- 340 - Master-Mind Hints
- 获取定位信息
- String类
- jvm垃圾收集(标记-清除,复制,标记-整理,分代)算法
- 【二十一】创建二叉树--指路法
- 实用的Class类
- UVA340 Master-Mind Hints
- “黑马程序员”-java基础常识
- redhat 刚安装后登录不了,修改root的密码
- 二叉排序树
- 在swift中使用md5
- 数据结构课后作业
- Unix网络编程相关函数
- ZOJ Problem Set - 2850 Beautiful Meadow
- xml的两种解析方式