学到的是,判断两个序列中某个字符在两个序列都出现的次数,取最小值,***但***字,可以利用差值来计算,
#include<stdio.h>
#include<string.h>
#define max 1010
int a[max];
int b[max];
int main()
{
int n;
int count =1;
while(scanf("%d",&n) == 1 && n!=0)
{
printf("Game %d\n",count++);
for(int i =0;i < n;i++) scanf("%d",&a[i]);
for(;;)
{
int A = 0,B = 0;
for(int j =0;j < n;j++)
{
scanf("%d",&b[j]);
if(b[j] == a[j])
A++;
}
if(b[0] == 0)
break;
for(int k = 1;k <=9;k++)
{
int c1 =0,c2 = 0;
for(int i = 0;i < n;i++)
{
if(a[i] == k)
c1++;
if(b[i] == k)
c2++;
}
if ( c1< c2) B += c1;
else B += c2;
}
printf("(%d,%d)\n",A,B-A);
}
}
}