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;
}