UVa 1587 - Box

来源:互联网 发布:软件测试pdf 编辑:程序博客网 时间:2024/05/22 01:44

给定6个矩形的长和宽wi和hi(1≤wi,hi≤1000),判断它们能否构成长方体的6个面。

#include <stdio.h>#include <algorithm>using namespace std;struct node{    int h, w;}a[6];int comp(node a, node b){   if(a.h == b.h)      return a.w < b.w;   return a.h < b.h;}int ok(){    if(a[0].h != a[1].h || a[0].w != a[1].w) return 0;    if(a[2].h != a[3].h || a[2].w != a[3].w) return 0;    if(a[4].h != a[5].h || a[4].w != a[5].w) return 0;    if(a[1].h != a[2].h)   return 0;    if(a[1].w != a[4].h)   return 0;    if(a[2].w != a[4].w)   return 0;    return 1;}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, comp);        if(ok())   printf("POSSIBLE\n");        else   printf("IMPOSSIBLE\n");    }    return 0;}


0 0
原创粉丝点击