盒子(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");
}
相关推荐
崇山峻岭之间7 分钟前
Matlab学习记录20
开发语言·学习·matlab
逍遥德10 分钟前
JPA 操作对象图 (Object Graph) 详解
开发语言·python
Cache技术分享13 分钟前
280. Java Stream API - Debugging Streams:如何调试 Java 流处理过程?
前端·后端
Charlie_Byte13 分钟前
在 Kratos 中设置自定义 HTTP 响应格式
后端·go
微爱帮监所写信寄信16 分钟前
微爱帮监狱寄信写信小程序信件内容实时保存技术方案
java·服务器·开发语言·前端·小程序
辜月十20 分钟前
Conda配置文件.condarc
后端
真是他21 分钟前
C# UDP 基本使用
后端
李少兄23 分钟前
时间戳转换工具
开发语言·javascript·工具
今天没有盐25 分钟前
Python字符串操作全解析:从基础定义到高级格式化
后端·scala·编程语言
IT 行者29 分钟前
Spring Framework 6.x 异常国际化完全指南:让错误信息“说“多国语言
java·后端·spring·异常处理·problemdetail·国际化i18n