uva 340 Master-Mind Hints 模拟
2017-09-08 15:59
381 查看
题目大意:
题目就是一个猜数字游戏,给定答案序列和用户猜序列,统计有多少数字位置正确,有多少数字在两个序列都出现过但是位置不对,
题目解析:
首先我们可以算出位置相同的个数A,也可以算出总的一共有多少个数字在两个字符串中都出现过,数目为B,所以位置不同但是在两个字符串中都出现的个数为B-A;、
代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn=1005;
int a[maxn];
int b[maxn];
int c[maxn];
int main()
{
//freopen("in.txt","r",stdin);
//freopen("out.txt","w",stdout);
int n;
int cas=0;
while(cin>>n&&n)
{
cas++;
cout<<"Game "<<cas<<":"<<endl;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
for(int i=0; i<n; i++)
cin>>a[i];
while(1)
{
int cnt1=0,cnt2=0;
for(int i=0; i<n; i++)
cin>>b[i];
if(b[n-1]==0) break;
for(int i=0; i<n; i++)
{
if(a[i]==b[i])
cnt1++;
c[i]=a[i];
}
//cout<<"cnt1="<<cnt1<<endl;
sort(c,c+n);
sort(b,b+n);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
if(c[i]==b[j])
{b[j]=-1;cnt2++;break;}
}
cout<<" ("<<cnt1<<","<<cnt2-cnt1<<")"<<endl;
}
}
return 0;
}
相关文章推荐
- UVA 340 Master-Mind Hints 猜数字提示的游戏 简单模拟
- UVA 340 --Master-Mind Hints 算是模拟吧
- UVa 340 - Master-Mind Hints
- UVA - 340 Master-Mind Hints
- UVa340 Master-Mind Hints
- 章三例题4——UVA 340 Master -Mind Hints
- UVa 340 Master-Mind Hints(猜数字游戏的提示)
- Uva 340 Master-Mind Hints
- UVa340——Master-Mind Hints
- 猜数字游戏的提示(Master-Mind Hints, UVa 340)
- 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
- UVa340(Master-Mind Hints)未完成
- UVa-340 - Master-Mind Hints