题目大意:给6个面,每个面有长宽,问能否组成一个长方体。
解题思路:按长>宽的优先级排序,结果要求第一个与第二个,第三个与第四个,第五个与第六个面完全相同。且第一个面的长与第三个面的长相同,第一个面的宽与第五个面的长相同,第二个面的宽与第五个面的宽相同。
ac代码:
#include
#include
using namespace std;
struct node{
int length;
int weight;
}no[6];
int n, m, jud;
bool compare(node a, node b)
{
if (a.length != b.length)
return a.length > b.length;
return a.weight > b.weight;
}
void convet(int i)
{
if (n > m)
no[i].length = n, no[i].weight = m;
else
no[i].length = m, no[i].weight = n;
}
int main()
{
while (scanf("%d%d", &n, &m)!=EOF){
jud = 1;
convet(0);
for (int i=1;
i<6;
i++){
scanf("%d%d", &n, &m);
convet(i);
}
sort(no, no+6, compare);
for (int i=0;
i<6;
i+=2)
if (no[i].length != no[i+1].length
|| no[i].weight != no[i+1].weight)
jud = 0;
if (no[0].length != no[2].length
|| no[0].weight != no[4].length
|| no[2].weight != no[4].weight)
jud = 0;
if (jud)
printf("POSSIBLE\n");
else
printf("IMPOSSIBLE\n");
}
return 0;
}
【#|UVA 1587 - Box】
推荐阅读
- #|轮廓阴影和圆角
- 实用软件|Mathematica,亮瞎你的双眼
- 实用软件|Mathematica绘制函数
- 其他|计算机系统结构期末重点——数据表示与指令系统(计算机系统结构,李学干(第五版))(史上最详细)
- 技巧tips|Python实例|将Excel文件的工作簿内容拆分为多个Excel文件
- #|Oracle报错(ORA-01034 或者 ORA-27101 终极解决办法(图文))
- #|Zookeeper后端开发工具Curator的使用 | Curator对节点的增删改查 | ACL权限控制 | 分布式锁 | 分布式计数器 | 附带最新版本下载
- Java编程开发|Java多线程(synchronized | Volatile 和Lock和ReadWriteLock多方位剖析(一))
- #|Zookeeper 图形化的客户端工具(ZooInspector)| 图形化的监控工具(taoKeeper)的下载和使用 | 后端开发工具Curator的高级应用