UVA 340 Master-Mind Hints
来源:互联网 发布:外文五大数据库 编辑:程序博客网 时间:2024/04/30 15:54
(引用题意):输入整数N(每行代码长度);输入有多组数据,当n=0时表示结束;而在每组中,以最后输n个0结束。对于每组数据,第一行编码为出题者的(S1,S2,...,Sn),接下来的为猜测者的编码(g1,g2,g3,...gn)。若Si=gj并且i=j,你将得到个A;若Si=gj但i≠j,你将得到B。程序先从1找到n找能得到多少A,然后在找能得到多少B。注意:对于每个Si,gj只能使用一次。然后输出A,B的个数以(X,Y)形式。(X个A,Y个B)。
我的代码:
#include<iostream>
using namespace std;int main()
{
const int maxn=1002; //每行最大长度
int secret[maxn]; //秘密代码
int guess[maxn]; //猜想
int temp[maxn]; //秘密代码副本
int N; //每行数字个数
int strong, weak; //猜对的两种状态
int count; //用来判断读入整行0
int game = 0; //第几次游戏
while(cin>>N && N)
{
game++;
cout<<"Game "<<game<<":"<<endl;
for(int i = 0; i < N; i++)
cin>>secret[i]; //秘密代码
while(1)
{
//初始化
count = 0;
strong = 0;
weak = 0;
for(int a = 0; a < N; a++)
{
cin>>guess[a]; //猜想
if(guess[a] == 0)
{
count++;
}
}
//判断是否整行全为0
if(count == N)
break;
for(int k = 0; k < N; k++) //创建秘密代码副本
temp[k] = secret[k];
//判断同列
for(int j = 0; j < N; j++)
{
if(guess[j] == temp[j]) //同列
{
//以下两行表示已经使用过
temp[j] = 0;
guess[j] = -1;
strong++;
}
}
//判断不同列
for(int m = 0; m < N; m++)
{
for(int n = 0; n < N; n++)
{
if(guess[m] == temp[n])
{
weak++;
temp[n] = 0;
break; //关键居然是这个问题。唯一性(只能用一次)
}
}
}
cout<<" "<<"("<<strong<<","<<weak<<")"<<endl;
}
}
return 0;
}
- UVa 340 Master-Mind Hints
- uva 340 Master-Mind Hints
- UVA 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- UVa 340 Master-Mind Hints
- UVA 340 Master-Mind Hints
- uva 340 Master-Mind Hints
- UVA 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- UVA 340 Master-Mind Hints
- uva 340 Master-Mind Hints
- UVa - 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- uva 340 Master-Mind Hints
- uva - 340 - Master-Mind Hints
- UVa 340 - Master-Mind Hints
- UVa:340 - Master-Mind Hints
- C语言中字符数组和字符串指针分析(转载)
- 如何提高Java开发能力
- 游戏王千金囊开发实录四——考题主窗体
- 从网页上提取用户邮箱为每个邮箱发送一封邮件
- 导入项目后,报错Missing library:xdoclet…ctory for XDoclet. 1.2.1
- UVA 340 Master-Mind Hints
- Oracle 11g 新特性 Active Database Duplicate
- struts1的总结
- Android中一个Activity多个intent-filter的调用方法
- cocos2d-html5学习笔记(二)——cocos2d中的layer
- ubuntu下配置jdk,ssh,hadoop
- 使用.net 程序生成 Excel 和Access 文件 .
- 和菜鸟一起学OK6410之蜂鸣器buzzer字符驱动
- 从头再学html4