题目1363:欢乐斗地主------用数组计数的应用,注意1和2得排在最后,表示最大

#include<stdio.h>

int a[16];
int main()
{
    int n;
    while(scanf("%d",&n)!=EOF)
    {
        int i,j;
        int m,p;
        for(i=0;i<16;i++) a[i]=0;
        for(i=0;i<n;i++)
        {
            scanf("%d",&j);
            if(j==1 || j==2) j=j+13;
            a[j]++;
        } 
        scanf("%d %d %d %d %d",&m,&m,&m,&p,&p);//输入中,可以用一样的参数
        if (m==1 || m==2) m+=13;
        int flag=0;//只要输出符合要求的最小的那一组,与实际情况中的游戏一样;
        for(i=m+1;i<=15;i++)
        {
            if (flag==1) break; 
               if (a[i]>=3)
               {
                   for(int k=3;k<=15;k++) 
                   if (a[k]>=2 && i!=k) 
                       {
                        flag=1;
                           if (i==14 || i==15) i-=13;
                           if (k==14 || k==15) k-=13;
                           printf("%d %d %d %d %d\n",i,i,i,k,k);
                           break;
                       } 
               }      
        } 
        if(flag==0) printf("My God\n");
    }
    return 0;
} 

 

posted @ 2017-03-14 11:54  贱人郭  阅读(142)  评论(0编辑  收藏  举报