其实不难。。只是数组下标各种写错。。
#include<stdio.h>
#define MAXN 1000
int main()
{
#ifdef LOCAL
freopen("340.in", "r", stdin);
#endif
int i, j, n, k = 1, A, B;
int q[MAXN], a[MAXN];
while(scanf("%d", &n) && n)
{
for(i = 0; i < n; i++) scanf("%d", &q[i]);
printf("Game %d:\n", k++);
while(1)
{
int ok = 0;
A = B = 0;
for(i = 0; i < n; i++) { scanf("%d", &a[i]); if(a[i]) ok = 1;}
if(!ok) break;
//compare
int _q[MAXN];
for(i = 0; i < n; i++) _q[i] = q[i];
for(i = 0; i < n; i++)
if(a[i] == _q[i]) { A++; _q[i] = 10; a[i] = 11; }//±ÜÃâÖظ´²éÕÒ
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
if(a[i] == _q[j]) { B++; _q[j] = 10; break;}
printf(" (%d,%d)\n", A, B);
}
}
return 0;
}