特判一下就好了 没什么难度。。有一个结构体排序
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=1e4+7;
struct node {int x,y;}a[maxn];
void Swap(int *a,int *b){int temp=*a;*a=*b;*b=temp;}
bool cmp(node a,node b) {return a.x<b.x||(a.x==b.x&&a.y<b.y);}
int main ()
{
while(~scanf("%d %d",&a[0].x,&a[0].y))
{
if(a[0].x>a[0].y) Swap(&a[0].x,&a[0].y);
for(int i=1;i<=5;i++)
{
scanf("%d %d",&a[i].x,&a[i].y);
if(a[i].x>a[i].y) Swap(&a[i].x,&a[i].y);
}
sort(a,a+6,cmp);
int flag=1;
for(int i=0;i<=5;i+=2)
if(a[i].x!=a[i+1].x||a[i].y!=a[i+1].y) {flag=0;break;}
if(a[0].x!=a[2].x||a[0].y!=a[4].x||a[2].y!=a[4].y) flag=0;
puts(flag?"POSSIBLE":"IMPOSSIBLE");
}
return 0;
}