您的位置:首页 > 其它

UVA 340 Master-Mind Hints

2016-01-24 08:39 351 查看
题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=103452#problem/D

题目大意:很简单的一种游戏,给一串数,每猜一次,给出猜对数的位置错误个数和其位置正确的个数。

题目分析:水题,统计猜对多少数字和位置正确的个数,位置错误的拿总的减去位置正确即可。

注意要点:无

代码如下:

#include<stdio.h>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<map>
#include<vector>
using namespace std;
int main()
{
int t=0,i,a[1010],b[1010],n;
scanf("%d",&n);
while (n!=0)
{
int d[10]={0};
t++; printf("Game %d:\n",t);
for (i=1;i<=n;i++) scanf("%d",&a[i]);
for (i=1;i<=n;i++) d[a[i]]++;
for (i=1;i<=n;i++) scanf("%d",&b[i]);
while (b[1]!=0)
{
int ans=0,p=0,q=0,c[10]={0};
for (i=1;i<=n;i++) c[b[i]]++;
for (i=1;i<=9;i++) ans=ans+min(c[i],d[i]);
for (i=1;i<=n;i++) if (a[i]==b[i]) p++;
q=ans-p;
printf("    (%d,%d)\n",p,q);
for (i=1;i<=n;i++) scanf("%d",&b[i]);
}
scanf("%d",&n);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: