AC代码:
#include<cstdio>
#include<algorithm>
using namespace std;
struct Node{
int a,b;
}stu[33];
bool cmp(Node a,Node b)
{
if(a.a!=b.a) return a.a<b.a;
return a.b<b.b;
}
int main()
{
while(~scanf("%d%d",&stu[1].a,&stu[1].b))
{
for(int i=2;i<=6;++i) scanf("%d%d",&stu[i].a,&stu[i].b);
for(int i=1;i<=6;++i)
{
if(stu[i].a>stu[i].b) swap(stu[i].a,stu[i].b);
}
sort(stu+1,stu+7,cmp);
// for(int i=1;i<=6;++i) printf("%d %d %d\n",i,stu[i].a,stu[i].b);
bool falg=true;
for(int i=1;i<=5;i+=2){
if(stu[i].a!=stu[i+1].a||stu[i].b!=stu[i+1].b) {
falg=false; break;
}
}
if(falg) {
if(stu[1].a==stu[3].a) {
if(stu[3].b==stu[6].a){
if(stu[1].b!=stu[6].b) falg=false;
}
else if(stu[3].b==stu[6].b) {
if(stu[1].b!=stu[6].a) falg=false;
}
else falg=false;
}//思考一下下面的代码多余
// else if(stu[1].a==stu[3].b) {
// if(stu[3].a==stu[6].a) {
// if(stu[1].b!=stu[6].b) falg=false;
// }
// else if(stu[3].a==stu[6].b) {
// if(stu[1].b!=stu[6].a) falg=false;
// }
// else falg=false;
// }
else {
falg=false;
}
}
printf(falg?"POSSIBLE\n":"IMPOSSIBLE\n");
}
return 0;
}