PKU : 2160 - Box
アルゴリズム
同じ形の紙は, それぞれ2の倍数個ないといけない.
さらに, 同じ長さの辺は, それぞれ4の倍数個入力されなければならない.
この条件のもと実装.
プログラム
typedef pair<int,int> P; int main(void){ map<P,int> cnt; map<int,int> valCnt; rep(i,6){ int w,h; scanf("%d%d",&w,&h); if(w > h) swap(w,h); cnt[P(w,h)]++; valCnt[w]++; valCnt[h]++; } bool ans = true; foreach(i,cnt){ if((i->second) % 2 != 0){ ans = false; } } foreach(i,valCnt){ if((i->second) % 4 != 0){ ans = false; } } printf("%s\n",ans ? "POSSIBLE" : "IMPOSSIBLE"); }