1. 程式人生 > >Master-Mind Hints UVA - 340

Master-Mind Hints UVA - 340

#include <iostream>
#include <cstdio>
#include <map>


using namespace std;

map<int ,int > mp;

int main()
{
    int n;
    int num[1111];
    int num2[1111];
    int sum=1;
    while(1)
    {
        cin>>n;
        if(n==0)
            break;
        int fg=0;
        printf("Game %d:\n",sum++);
        while(1)
        {
            if(fg<n)
            {
                for(int i=0;i<n;i++)
                {
                        scanf("%d",&num[i]);
                        fg++;
                }
            }
            else
            {
                int cont1=0;
                for(int i=0;i<n;i++)
                {
                    scanf("%d",&num2[i]);
                    if(num2[i]!=0)
                        cont1=1;
                }
                if(cont1==0)
                {
                    break;
                }
                else
                {
                    for(int i=0;i<n;i++)
                    {
                        mp[num[i]]++;
                    }
                    int a,b;
                    a=0;
                    b=0;
                    for(int i=0;i<n;i++)
                    {
                        if(num[i]==num2[i])
                        {
                            a++;
                            mp[num[i]]--;
                        }
                    }
                    for(int i=0;i<n;i++)
                    {
                        if(num[i]!=num2[i])
                        {
                            if(mp[num2[i]]!=0)
                            {
                                b++;
                                mp[num2[i]]--;
                            }
                        }
                    }
                    printf("    (%d,%d)\n",a,b);
                    mp.clear();
                }
            }
        }
    }
    return 0;
}