水题一枚。主要是自己英语太渣,看了半天都没看懂题意。。。。。。。
值得注意的是题中对一对多,多对一情况的处理;以及特别要注意输出格式。
代码如下:
#include<iostream> #include<cstdio> using namespace std; int main() { int a[1000+10],b[1000+10],c[1000+10]; int a1,b1,N,cnt=0,i; while(cin>>N&&N!=0) { cnt++; for(i=0;i<N;i++) { cin>>a[i]; b[i]=a[i]; } int flag=1; while(1) { a1=b1=0; for(i=0;i<N;i++) cin>>c[i]; if(c[0]==0) break; for(i=0;i<N;i++) if(b[i]==c[i]) { a1++; b[i]=0; c[i]=0; } for(i=0;i<N;i++) for(int j=0;j<N;j++) if(c[i]!=0) if(c[i]==b[j]) { b1++; b[j]=0; break; } for(i=0;i<N;i++) b[i]=a[i]; if(flag) cout<<"Game "<<cnt<<":"<<endl; flag=0; cout<<" "<<"("<<a1<<","<<b1<<")"<<endl; } } return 0; }