1. 程式人生 > >Box UVA - 1587

Box UVA - 1587

#include <iostream>
#include <algorithm>

using namespace std;
 
struct pairs{
	int w, h;
}array[6];
 
bool cmp(pairs a,pairs b){
	if (a.w != b.w)
		return a.w < b.w;
	else
		return a.h > b.h;
}

int main(){
	int w, h, flag = 1;
	while(!(cin >> array[0].w >> array[0].h).eof()){
		if(array[0].w > array[0].h)
			swap(array[0].w,array[0].h);
		for(int i=1 ;i<6 ;i++){
			cin >> array[i].w >> array[i].h;
			if(array[i].w > array[i].h)
				swap(array[i].w,array[i].h);
		}
		sort(begin(array),end(array),cmp);
		
		if(array[0].w != array[1].w || array[2].w != array[3].w || array[4].w != array[5].w || array[0].h != array[1].h || array[2].h != array[3].h || array[4].h != array[5].h)
			flag = 0;  // 看看是否是三組相同資料
		if(array[0].w != array[2].w || array[0].h != array[4].h || array[2].h != array[4].w)
			flag = 0;  // 排列後第一組資料的長和第三組的長相同,第一組的寬和第五組的寬相同,第三組的寬和第五組的長相同

		if(flag)
			cout << "POSSIBLE" << endl;
		else
			cout << "IMPOSSIBLE" << endl;
		flag = 1;
	}
	return 0;
}