UVa 1587 Box
题意:给出6个矩形的长和宽,问是否能够构成一个长方体
先假设一个例子
2 3
3 4
2 3
3 4
4 2
4 2
排序后
2 3
2 3
3 4
3 4
4 2
4 2
如果要构成一个长方体的话,有3对面是一样的 先判断这个成立了,再判断能否构成长方体 假设现在剩下的面就为
2 3 (第一个面)
3 4 (第二个面)
4 2 (第三个面)
发现是首尾相接的,即为只需要判断三次,第一个面的长或者宽或者两者都在第二个面出现,第一个面的长或者宽或者两者都在第三个面出现,第二个面的长或者宽或者两者都在第三个面出现,如果三个条件都满足的话,就构成了
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std; struct node
{
int x,y;
} a[]; int cmp(node n1,node n2)
{
if(n1.x!=n2.x)
return n1.x<n2.x;
else return n1.y<n2.y;
} int main()
{
int i,j,ans;
while(scanf("%d",&a[].x)!=EOF)
{
scanf("%d",&a[].y);
for(i=;i<=;i++)
scanf("%d %d",&a[i].x,&a[i].y); for(i=;i<=;i++)
{
if(a[i].x>a[i].y) swap(a[i].x,a[i].y);
}
sort(a+,a++,cmp); // for(i=1;i<=6;i++)
// printf("%d %d\n",a[i].x,a[i].y); ans=;
int flag=;
if(a[].x==a[].x&&a[].y==a[].y&&a[].x==a[].x&&a[].y==a[].y&&a[].x==a[].x&&a[].y==a[].y)
{
if(a[].x==a[].x||a[].x==a[].y||a[].y==a[].x||a[].y==a[].y) ans++;
if(a[].x==a[].x||a[].x==a[].y||a[].y==a[].x||a[].y==a[].y) ans++;
if(a[].x==a[].x||a[].x==a[].y||a[].y==a[].x||a[].y==a[].y) ans++;
if(ans<) flag=; }
else
flag=; if(flag) printf("POSSIBLE\n");
else printf("IMPOSSIBLE\n");
}
return ;
}
不过后来又想到一个反例= =正想着改的时候---居然 过了= = 反例是
12 34
34 12
12 34
34 12
12 34
12 34
这应该不能构成吧--可是程序输出的是能 ----不懂= =
UVa 1587 Box的更多相关文章
- uva 1587(Box UVA - 1587)
题目大意是给定6个数对,每个数对代表一个面的长和宽,判断这6个面是否能构成一个长方体. 这种题一看很复杂,但是只要不想多了实际上这就是一个水题... 首先说明一下判断的思路: 1.长方体是有三个对面的 ...
- 【每日一题】 UVA - 1587 Box 二维有点偏序的感觉
一开始用set存xjb分类讨论,然后wa, 然后简化了一点,改用vector,然wa 最后又发现没有初始化,然wa wa了一个半小时 最后看了题解orz 然后找了一组样例把自己的代码改对了 /* 1 ...
- UVA 12293 - Box Game(博弈)
UVA 12293 - Box Game 题目链接 题意:两个盒子,一開始一个盒子有n个球.一个仅仅有1个球,每次把球少的盒子中球消掉,把多的拿一些球给这个盒子.最后不能操作的输(球不能少于1个),A ...
- Box UVA - 1587
Ivan works at a factory that produces heavy machinery. He has a simple job - he knocks up wooden box ...
- 【习题 3-10 UVA - 1587】Box
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举某个顶角的三个相邻面就好. 看看这三个相邻面有没有对应的面. 以及3个相邻面的6个边. 能否分成2个a,2个b,2个c 也即每个 ...
- UVA 2474 - Balloons in a Box 爆搜
2474 - Balloons in a Box 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&a ...
- 【Luogu P1168】【Luogu P1801&UVA 501】中位数&黑匣子(Black Box)——对顶堆相关
Luogu P1168 Luogu P1801 UVA 501(洛谷Remote Judge) 前置知识:堆.优先队列STL的使用 对顶堆 是一种在线维护第\(k\)小的算法. 其实就是开两个堆,一个 ...
- UVA 4855 Hyper Box
You live in the universe X where all the physical laws and constants are different from ours. For ex ...
- HDOJ 1326. Box of Bricks 纯水题
Box of Bricks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
随机推荐
- 函数式 CSS (FCSS)
在Wealthfront我们是一个函数式编程的超级粉丝.强调不变性和函数式风格意味着更少的“意外”(surprises),因为副作用是有限的或不存在的.我们能将独立的组件迅速构建出大型系统,通过组合的 ...
- explicit构造函数的作用
explicit构造函数是用来防止隐式转换的.请看下面的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...
- ActionResult 返回类型
类名 抽象类 父类 功能 ContentResult 根据内容的类型和编码,数据内容. EmptyResult 空方法. FileResult abstract 写入文件内容,具体 ...
- UVA 11076 Add Again 计算对答案的贡献+组合数学
A pair of numbers has a unique LCM but a single number can be the LCM of more than one possiblepairs ...
- 华为上机:IP地址转换
IP地址转换 描述: IP地址的长度为32,即有2^32-1个地址.IP地址一般采用点分十进制表示法,例如"192.168.1.1".IP地址也可以直接用一个32位的整数进行表示. ...
- Java-马士兵设计模式学习笔记-观察者模式-OOD 线程 改进
1.概述 由于上一个文章<Java OOD 线程>中的线程是父类主动监听childe,比较耗资源,现改进为childe类醒来后主动联系父类 2.代码 Test.java class Chi ...
- css属性
文本: color 颜色 line-height 行高 direction 文本方向 letter-spacing 字符间距 text-align 对齐方式 text-decoration 文本修饰 ...
- PHP使用CURL详解
CURL是一个非常强大的开源库,支持很多协议,包括HTTP.FTP.TELNET等,我们使用它来发送HTTP请求.它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS ...
- Ubuntu LAMP搭建
为了数据库课程设计,只好自己搭一个数据库系统,采用LAMP方式. 一.安装 1.安装Apache sudo apt-get install apache2 Apache在安装期间会新建一个目录:/va ...
- iOS:分割控制器UISplitViewcontroller
分割控制器UISplitViewController <1>功能:它也是ipad的一个新特性,在屏幕上可以同时显示两个控制器,左边一个,右边一个:左边的为主控制器,右边的为详细控制器,主控 ...