盒子(Box, ACM/ICPC NEERC 2004, UVa1587)rust解法

给定6个矩形的长和宽wi和hi(1≤wi,hi≤1000),判断它们能否构成长方体的6个面。

样例

复制代码
1345 2584
2584 683
2584 1345
683 1345
683 1345
2584 683
xing

1234 4567
1234 4567
4567 4321
4322 4567
4321 1234
4321 1234
buxing

解法

rust 复制代码
use std::io;

fn main() {
    let mut v: Vec<(u32, u32)> = vec![];
    for _ in 0..6 {
        let mut buf = String::new();
        io::stdin().read_line(&mut buf).unwrap();
        let mut it = buf.split_whitespace();
        let w = it.next().unwrap().parse().unwrap();
        let h = it.next().unwrap().parse().unwrap();

        v.push(if w > h {(h, w)}else {(w, h)});//短边在前,长边在后
    }
    v.sort();//从小到大排序
    for i in 0..3 {
        //两两相等,否则构不成
        if v[0 + i * 2] != v[1 + i * 2] {
            println!("buxing");
            return;
        }
    }
    // 0号的短边=2号的短边,且0号长边=4号短边,且2号长边=4号长边,否则构不成
    if v[0].0 != v[2].0 || v[0].1 != v[4].0 || v[2].1 != v[4].1{
        println!("buxing");
        return;
    }
    println!("xing");
}
相关推荐
superman超哥1 分钟前
仓颉Actor模型的实现机制深度解析
开发语言·后端·python·c#·仓颉
superman超哥2 分钟前
仓颉内存管理深度探索:引用计数的实现原理与实战
c语言·开发语言·c++·python·仓颉
资生算法程序员_畅想家_剑魔6 分钟前
Java常见技术分享-13-多线程安全-锁机制-底层核心实现机制
java·开发语言
用户990450177800910 分钟前
若依审批流-转交
后端
PFinal社区_南丞10 分钟前
服务器进程日志分析:从头皮发麻到AI解救
运维·后端
悟空码字15 分钟前
MySQL分库分表,从“一室一厅”到“豪华别墅区”的数据库升级之旅
java·后端·mysql
shix .15 分钟前
spiderdemo 2-混淆
开发语言·python
Lisonseekpan16 分钟前
RBAC 基于角色的访问控制模型详解与实践指南
java·服务器·网络·后端·spring·log4j
lsx20240623 分钟前
Bootstrap 页面标题:设计指南与最佳实践
开发语言
黎雁·泠崖24 分钟前
C 语言结构体全解析:声明 + 内存对齐 + 位段 + 传参优化
c语言·开发语言