题意:给出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的更多相关文章

  1. uva 1587(Box UVA - 1587)

    题目大意是给定6个数对,每个数对代表一个面的长和宽,判断这6个面是否能构成一个长方体. 这种题一看很复杂,但是只要不想多了实际上这就是一个水题... 首先说明一下判断的思路: 1.长方体是有三个对面的 ...

  2. 【每日一题】 UVA - 1587 Box 二维有点偏序的感觉

    一开始用set存xjb分类讨论,然后wa, 然后简化了一点,改用vector,然wa 最后又发现没有初始化,然wa wa了一个半小时 最后看了题解orz 然后找了一组样例把自己的代码改对了 /* 1 ...

  3. UVA 12293 - Box Game(博弈)

    UVA 12293 - Box Game 题目链接 题意:两个盒子,一開始一个盒子有n个球.一个仅仅有1个球,每次把球少的盒子中球消掉,把多的拿一些球给这个盒子.最后不能操作的输(球不能少于1个),A ...

  4. Box UVA - 1587

    Ivan works at a factory that produces heavy machinery. He has a simple job - he knocks up wooden box ...

  5. 【习题 3-10 UVA - 1587】Box

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 枚举某个顶角的三个相邻面就好. 看看这三个相邻面有没有对应的面. 以及3个相邻面的6个边. 能否分成2个a,2个b,2个c 也即每个 ...

  6. UVA 2474 - Balloons in a Box 爆搜

    2474 - Balloons in a Box 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&a ...

  7. 【Luogu P1168】【Luogu P1801&UVA 501】中位数&黑匣子(Black Box)——对顶堆相关

    Luogu P1168 Luogu P1801 UVA 501(洛谷Remote Judge) 前置知识:堆.优先队列STL的使用 对顶堆 是一种在线维护第\(k\)小的算法. 其实就是开两个堆,一个 ...

  8. UVA 4855 Hyper Box

    You live in the universe X where all the physical laws and constants are different from ours. For ex ...

  9. HDOJ 1326. Box of Bricks 纯水题

    Box of Bricks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

随机推荐

  1. Linux中yum和apt-get用法及区别

    Linux中yum和apt-get用法及区别   一般来说著名的linux系统基本上分两大类:   1.RedHat系列:Redhat.Centos.Fedora等   2.Debian系列:Debi ...

  2. ipa上传到APP store

    原地址:http://blog.csdn.net/akun1103/article/details/8632651 在itunes中创建程序 该部分内容继续以雪豹系统为例 打开https://itun ...

  3. ASP.NET MVC 应用提速的十种方法

    [编者按]本文作者为 DZone 社区的最具价值博主(MVB) Jonathan Danylko,主要介绍为 ASP.NET MVC 应用提速的十种方法.由国内 ITOM 管理平台 OneAPM 编译 ...

  4. Subclasses

    Given a collection of numbers, return all possible subclasses. public class Solution { public List&l ...

  5. POJ 2186

    Popular Cows Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 22189   Accepted: 9076 Des ...

  6. 动态调用wcf接口服务

    1.url:http://localhost:8002/名称.svc/basic(.svc结尾) 2.需要引用的命名空间System.ServiceModel 3.调用代码: public class ...

  7. tomcat 跨域

    http://www.360doc.com/content/14/0920/14/7909375_411017244.shtml http://www.tuicool.com/articles/Znq ...

  8. Linux网络编程1——小端模式与大端模式

    数据存储优先顺序的转换 计算机数据存储有两种字节优先顺序:高位字节优先(称为大端模式)和低位字节优先(称为小端模式).内存的低地址存储数据的低字节,高地址存储数据的高字节的方式叫小端模式.内存的高地址 ...

  9. LINUX输入输出与文件——续

    1 目录操作 改变目录或文件的访问权限 #include <sys/stat.h> int chmod(const char *path, mode_t mode); //mode形如07 ...

  10. redis命令参考

    http://doc.redisfans.com/ 进入redis命令行模式方式: 1.进入redis安装目录 2.运行redis-cli