Box UVA - 1587

#include 
#include 

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;
}

 

你可能感兴趣的:(UVA)