UVa1587

来源:互联网 发布:java如何开发网站 编辑:程序博客网 时间:2024/06/05 17:02
#include <iostream>#include <string.h>using namespace std;int main(){    int a[15],b[15],c[15],j,i,flag,k1,k2,t;    while(cin>>a[0])    {        memset(b,0,sizeof(b));        memset(c,0,sizeof(c));        j=0;        flag=0;        for(i=1;i<12;i++)        cin>>a[i];        for(i=0;i<12;i++)        {            if(a[i]==b[0]) c[0]++;            else if(a[i]==b[1]) c[1]++;            else if(a[i]==b[2]) c[2]++;            else {c[j]++;b[j++]=a[i];}            if(j>3)            {                cout<<"IMPOSSIBLE"<<endl;                break;            }        }        if(i==12)        {            if(c[0]==12)            cout<<"POSSIBLE"<<endl;            else if((c[0]==8&&c[1]==4)||(c[0]==4&&c[1]==8))            {                if(c[0]>c[1])                t=b[0];                else                t=b[1];                for(flag=k1=k2=i=0;i<12;i+=2)                {                    if(a[i]==a[i+1])                    {                        k1++;                        t=a[i];                    }                    else                    {                        if(t==a[i]||a[i+1]==t)                        flag=1;                    }                }                if(k1==2&&flag)                cout<<"POSSIBLE"<<endl;                else                cout<<"IMPOSSIBLE"<<endl;            }            else if(c[0]==c[1]&&c[0]==c[2]&&c[0]==4)            {                for(i=0;i<12;i+=2)                {                    if(a[i]==a[i+1])                    {                        cout<<"IMPOSSIBLE"<<endl;                        break;                    }                }                if(i==12)                cout<<"POSSIBLE"<<endl;            }            else cout<<"IMPOSSIBLE"<<endl;        }    }}

别人的:

http://www.cnblogs.com/chaiwentao/p/3938546.html

http://blog.csdn.net/acvay/article/details/42811867


0 0