#include using namespace std; #define maxn 1010 int main(void) { int n, i, j, k = 0; int a[maxn], b[maxn]; while (scanf("%d", &n) == 1 && n)//n=0时输入结束 { printf("Game %d:\n", ++k); for (i = 0; i < n; i++) scanf("%d", &a[i]); while (1)//可改为for(;;) { int A = 0, B = 0, count = 0; for (i = 0; i < n; i++) { scanf("%d", &b[i]); if (a[i] == b[i]) A++; if (b[i] == 0) count++;//统计输入0的个数 } if (count == n) break;//如果四位数皆为零,则输入结束 for (j = 0; j <= 9; j++) { int a1 = 0, a2 = 0;//统计数字j在答案序列和猜测序列中各出现多少次数 for (i = 0; i < n; i++) { if (a[i] == j) a1++;//统计a[i]、b[i]中j的个数 if (b[i] == j) a2++; } if (a1 < a2) B = B + a1;//记统计的最小的个数 即为序列拥有相同元素的个数 else B = B + a2; } printf(" (%d,%d)\n", A, B - A);//B减去相同位置的个数A,即为元素相同,但位置不同的个数 } } }