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;
}

 

posted @ 2012-04-28 12:24  open your eyes  阅读(235)  评论(0编辑  收藏  举报