1587 - Box
来源:互联网 发布:unity3d 引擎 编辑:程序博客网 时间:2024/06/07 18:44
这道题乍一看挺简单,总想找一些简单的方法,但是并不容易。还是用比较笨的方法吧,就是把输入的数据顺序排好,一点儿一点儿的判断。
长方形的每个面的边长(x,y),按x>=y来记录。最后12个边面排好序应该是 (a,b)(a,b)(a,c)(a,c)(b,c)(b,c)。然后判断是否满足这种形式就可以了。
12个数据应该是没有冗余的,都用得到。
#include <iostream>#include <vector>#include <algorithm>using namespace std;struct face{int x,y;face(int xx=0,int yy=0):x(xx),y(yy){}bool operator<(const face &f)const{if(x>f.x)return true;else if(x == f.x && y>=f.y)return true;else return false;}friend inline istream & operator>>(istream & is,face &f){int a,b;is>>a>>b;if(a>b){f.x=a;f.y=b;}else{f.x=b;f.y=a;};return is;}bool operator==(const face &f)const{return (x==f.x&&y==f.y);}};int main(){int a,b;vector<face> face_set(6);while(cin>>face_set[0]>>face_set[1]>>face_set[2]>>face_set[3]>>face_set[4]>>face_set[5]){sort(face_set.begin(),face_set.end());if((face_set[0]==face_set[1] && face_set[2]==face_set[3] && face_set[4] == face_set[5])&&(face_set[0].x == face_set[2].x && face_set[0].y == face_set[4].x && face_set[2].y==face_set[4].y))cout<<"POSSIBLE\n";elsecout<<"IMPOSSIBLE\n";}return 0;}
0 0
- 1587 - Box
- 1587 - Box
- 1587 - Box
- uva 1587 - Box
- uva 1587 - Box
- UVa 1587 - Box
- UVa 1587 - Box
- UVa 1587 Box
- Uva-1587-Box-AC
- UVA - 1587 Box
- UVa 1587 Box
- Box UVa 1587
- UVA - 1587 Box 麻烦
- UVa 1587 - Box
- UVa 1587 - Box
- UVa-1587 - Box
- UVa 1587 Box
- Uva - 1587 - Box
- 杭电5645之DZY Loves Balls
- 二叉搜索树的插入和删除结点操作以及iterator的构造
- SpringMVC个人零碎总结
- 手机浏览器上的特殊效果,如拨号、跳转地图app等
- HDOJ -- 1061 Rightmost Digi
- 1587 - Box
- Java 键树---字典树(小词典)的实现
- jQuery 怎么实现点击页面其他地方隐藏菜单?
- 深入理解java虚拟机(三):String.intern()-字符串常量池
- Python:时间模块:time和datetime
- 小白笔记----------------判断一个数是不是某个数的次方
- Android——《第一行代码》
- 线程安全和线程同步Synchronized
- c++ 在windwos上创建盘符,并且,监控盘符里面任一文件的变动事件