UVA 340
#include<iostream> #include<cstring> using namespace std; int a[1000+10],b[1000+10],temp[1000+10]; bool is_break(int b[],int n) { int i,flag=0;; for(i=0;i<n;i++) { if(b[i]==0) flag++; } if(flag==n)return 1; else return 0; } int main() { int n; int flag=1; while(cin>>n) { if(n==0)break; int i,j,flag2=0; int A_B[100][2]; memset(A_B,0,sizeof(A_B)); for(i=0;i<n;i++) cin>>a[i]; while(true) { for(j=0;j<n;j++) cin>>b[j]; if(is_break(b,n)==1) break; else { memset(temp,0,sizeof(temp)); for(i=0;i<n;i++) { if(a[i]==b[i]) { A_B[flag2][0]++; b[i]=0; temp[i]=1; } } for(i=0;i<n;i++) { for(j=0;j<n;j++) { if(b[i]==a[j]&&(i!=j)&&temp[j]!=1) { temp[j]=1; A_B[flag2][1]++; break; } } } } memset(b,0,sizeof(b)); flag2++; } cout<<"Game "<<flag++<<":"<<endl; for(i=0;i<flag2;i++) { cout<<" ("<<A_B[i][0]<<","<<A_B[i][1]<<")"<<endl; } } return 0; }