盒子(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");
}
相关推荐
Bat U13 小时前
JavaEE|文件操作和IO
java·开发语言
脉动数据行情13 小时前
Python 实现融通金行情数据对接(实时推送 + K 线 + 产品列表)
开发语言·python
skywalk816314 小时前
Trae生成的中文编程语言关键字(如“定“、“函“、“印“等)需要和标识符之间用 空格 隔开,以确保正确识别
服务器·开发语言·编程
请你喝可乐14 小时前
AI Agent Skill 高阶使用指南:从入门到精通
后端
用户9623779544814 小时前
代码审计 | Struts2 —— S2-016 OGNL 注入原理
后端
红色的小鳄鱼14 小时前
前端面试js手写
开发语言·前端·javascript
9号达人14 小时前
为什么你应该在 MQ 里用多个消费者,而不是一个
java·后端·架构
海盗123414 小时前
C#中的IEqualityComparer<T>使用
开发语言·c#
江公望14 小时前
Qt QSharedPointer用法,10分钟讲清楚
开发语言·qt
阿星做前端14 小时前
重度 AI 编程用户的一天:我怎么把 Claude Code / Codex 工作流搬进浏览器工作台
前端·javascript·后端