题目链接
代码:
#include <iostream>
#include <algorithm>
#include <set>
#include <map>
using namespace std;
typedef pair<int,int> pr;
int main()
{
int w,h,c=0;
map<pr,int> m;
map<int,int> cnt;
set<pr> s;
while(cin>>w>>h)
{
++c;
if(w>h) swap(w,h);
m[pr{w,h}]++;
cnt[w]++;
cnt[h]++;
s.insert(pr{w,h});
if(c%6==0)
{
int flag=0;
for(pr x:s)
{
if(m[x]%2 || cnt[x.first]%4 || cnt[x.second]%4)
{
flag=1;
break;
}
}
if(flag) cout<<"IMPOSSIBLE"<<endl;
else cout<<"POSSIBLE"<<endl;
m.clear(),cnt.clear(),s.clear();
}
}
return 0;
}