UVa1587-Box

来源:互联网 发布:java后端开发要学什么 编辑:程序博客网 时间:2024/06/06 02:13

用不着多少条件,并不难。

#include<cstdio>#include<algorithm>using namespace std;const int C=10001;int p[7];\\用来保存矩形void swap(int &x,int &y)\\交换变量{int t=x;x=y;y=t;}int x,y;int main(){while(scanf("%d%d",&x,&y)==2){if(x>y)swap(x,y);\\保证x<=y,下面判断用p[0]=x*C+y;\\两变量合成一变量,注意C不能太大或太小for(int i=1;i<=5;i++){scanf("%d%d",&x,&y);if(x>y)swap(x,y);p[i]=x*C+y;}sort(p,p+6);bool f=false;if(p[0]==p[1]&&p[2]==p[3]&&p[4]==p[5])\\长方形相对的面相同{if(p[0]/C==p[2]/C)\\p[0],p[2]是x较小的两个面{if((p[0]%C==p[4]/C&&p[2]%C==p[4]%C)||(p[0]%C==p[4]%C&&p[2]%C==p[4]/C))\\此两种情况满足,则能构成长方形{printf("POSSIBLE\n");f=true;}}}if(!f)printf("IMPOSSIBLE\n");}return 0;}



2 0
原创粉丝点击