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; }
思路:
使用pair模板,分别使用first和second调用其中的两个,长方体就是从小到大排序后,每两个相等,然后第一个和第三个的first相等,第一个的second和第五个的first相等,第三个second和第五个second相等。

浙公网安备 33010602011771号