#include<stdio.h>
#define maxn 1010
int main()
{
int n,a[maxn],b[maxn];//答案序列:a,猜测序列:b
int kase=0;
while(scanf("%d",&n)==1&&n)//n=0结束输入
{
printf("Game %d:\n",++kase);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);//输入答案序列
for(;;)
{
int A=0,B=0;//A:数字位置正确,B:出现过位置不对
for(int i=0;i<n;i++)
{
scanf("%d",&b[i]);
if(a[i]==b[i]) A++;//输入猜测序列的同时统计A
}
if(b[0]==0) break;//0猜测结束
for(int d=1;d<=9;d++)
{
int c1=0,c2=0;
for(int i=0;i<n;i++)
{
if(a[i]==d) c1++;
if(b[i]==d) c2++;
}
if(c1<c2) B+=c1;else B+=c2;//统计B
}
printf(" (%d,%d)\n",A,B-A);
}
}
return 0;
}
算法之路二:刘汝佳算法竞赛入门经典 3.8猜数字游戏 UVa340
最新推荐文章于 2024-07-25 23:26:35 发布