紫书 习题3-10 盒子(Box,UVa1587)

#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;

struct Rect
{
	int length,width;
}rect[6];

bool cmp(Rect a,Rect b)
{
	if(a.length==b.length)
		return a.width>b.width;
	return a.length>b.length;
}

int main()
{
    while(1)
    {
		for(int i=0;i<6;i++)
		{
			if(scanf("%d %d",&rect[i].length,&rect[i].width)!=2)
				return 0;
			if(rect[i].length<rect[i].width)
				swap(rect[i].length,rect[i].width);
		}
		sort(rect,rect+6,cmp);
		if(rect[0].length==rect[1].length&&rect[0].width==rect[1].width&&rect[2].length==rect[3].length&&rect[2].width==rect[3].width&&rect[4].length==rect[5].length&&rect[4].width==rect[5].width&&rect[0].length==rect[2].length&&rect[0].width==rect[4].length&&rect[3].width==rect[4].width)
			printf("POSSIBLE\n");
		else
			printf("IMPOSSIBLE\n");
	}
	return 0;
}

你可能感兴趣的:(c++)