1、水題,模擬題。
2、長方體盒子特徵:每個面都與對立面長寬相同。此爲題目判斷條件已,另一個判斷條件爲,每一面與其他面的長寬是否能契合到一起。
3、考察對sort自定義排序的運用。
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int N=6;
struct rec {
int l,w;
}r[N];
bool cmp(rec a,rec b) //自定義排序函數,w小的排前面,w一樣的l小的排前面
{
return a.w<b.w || (a.w==b.w && a.l<b.l);
}
int main()
{
int a,b,flag;
while(cin>>r[0].w>>r[0].l) {
flag=1; //設置一個標記
//輸入數據組並進行長寬值交換,規定長>寬
if(r[0].w>r[0].l) {
swap(r[0].w,r[0].l);
}
for(int i=1;i<6;++i) {
cin>>r[i].w>>r[i].l;
if(r[i].w>r[i].l) {
swap(r[i].w,r[i].l);
}
}
sort(r,r+N,cmp); //自定義排序數據(爲了方便進行比較
//檢查每對板與對立面是否一樣
for(int i=0;i<N;i+=2) {
if(r[i].w!=r[i+1].w || r[i].l!=r[i+1].l) {
flag=0;
}
}
//再檢查長寬高是否能契合在一起
if(r[0].w!=r[2].w || r[0].l!=r[4].w || r[2].l!=r[4].l) {
flag=0;
}
puts(flag?"POSSIBLE":"IMPOSSIBLE"); //輸出
}
return 0;
}