UVA - 1587 - Box

传送门:https://cn.vjudge.net/problem/UVA-1587

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
pair<int,int>a[6];
int main()
{
    while(cin>>a[0].first>>a[0].second)
    {
        for(int i=0;i<6;i++)
        {
            if(i)
                cin>>a[i].first>>a[i].second;
            if(a[i].first>a[i].second)
                swap(a[i].first,a[i].second);
        }
        sort(a,a+6);
        if(a[0]==a[1]&&a[2]==a[3]&&a[4]==a[5]&&a[0].first==a[2].first&&a[0].second==a[4].first&&a[2].second==a[4].second)
            cout<<"POSSIBLE"<<endl;
        else
            cout<<"IMPOSSIBLE"<<endl;
    }
    return 0;
}
AC Code

思路:

        使用pair模板,分别使用first和second调用其中的两个,长方体就是从小到大排序后,每两个相等,然后第一个和第三个的first相等,第一个的second和第五个的first相等,第三个second和第五个second相等。

posted @ 2018-07-14 09:56  子诚-  阅读(104)  评论(0编辑  收藏  举报