题意:给出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. Tomcat自动启动脚本

    Tomcat自动启动脚本#!/bin/bash # chkconfig: 2345 10 90 # description: Starts and Stops the Tomcat daemon. T ...

  2. AIZU 2251

    Merry Christmas Time Limit : 8 sec, Memory Limit : 65536 KB Problem J: Merry Christmas International ...

  3. Install WindowBuilder for Eclipse

    WindowBuilder官方下载安装说明地址:http://www.eclipse.org/windowbuilder/download.php 先祝各位能顺利安装上!以下是基于Eclipse in ...

  4. 14个Xcode中常用的快捷键操作

    在Xcode 6中有许多快捷键的设定可以使得你的编程工作更为高效,对于在代码文件中快速导航.定位Bug以及新增应用特性都是极有效的. 当然,你戳进这篇文章的目的也在于想要快速的对代码文件进行操作,或者 ...

  5. SQL 递归查询

    WITH B (FATHER,SON,ID,ALLINFO) AS (SELECT RTRIM(LTRIM(CHAR(A.ID)))|| CHAR(ROW_NUMBER() OVER(PARTITIO ...

  6. 与Wii控制手柄通信的托管代码库(转)

    2009-01-16 翻译 HID Human Input Device     人工输入设备 Wii Fit Balance Board       平衡板 IR                   ...

  7. 老是出现dispolse 找不到合适的方法来重写

    复制到输出目录:不复制 生成操作:编译

  8. Java实现Mysql数据导入导出

    package com.backup; import java.io.BufferedReader;import java.io.FileInputStream;import java.io.File ...

  9. 使用RedisTemplate的操作类访问Redis(转)

    深入理解Spring Redis的使用 (三).使用RedisTemplate的操作类访问Redis 事务需要开启enableTransactionSupport,然后使用@transactional ...

  10. scroll 事件绑定

    var animateBlock={        isVisiable:function(el,wh,st,delta){            delta=delta||200;          ...