您的位置:首页 > 其它

uva 1587 - Box

2014-07-29 20:28 351 查看
判断6个面能否组成立方体

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <iostream>
#include <cstdio>
#include <vector>
#include <cstring>
#include <cctype>
#include <algorithm>
#include <cmath>
#include <cstdlib>
#include <queue>
#include <map>
#define maxn 100000 + 10
#define INF 0x7fffffff
using namespace std;
struct NODE
{
int h, w;
bool operator < (const NODE& rha) const{
if(h == rha.h) return w < rha.w;
return h < rha.h;
}
}a[10];
bool ok()
{
if(a[0].h != a[1].h || a[0].w != a[1].w) return false;
if(a[2].h != a[3].h || a[2].w != a[3].w) return false;
if(a[4].h != a[5].h || a[4].w != a[5].w) return false;
if(a[1].h != a[2].h) return false;
if(a[1].w != a[4].h) return false;
if(a[3].w != a[4].w) return false;
return true;
}
int main()
{
while(scanf("%d%d", &a[0].h, &a[0].w) != EOF)
{
if(a[0].h > a[0].w) swap(a[0].h, a[0].w);
for(int i = 1; i < 6; ++i)
{
scanf("%d%d", &a[i].h, &a[i].w);
if(a[i].h > a[i].w) swap(a[i].h, a[i].w);
}
sort(a, a+6);
if(ok()) puts("POSSIBLE");
else puts("IMPOSSIBLE");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: