盒子(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");
}
相关推荐
飘尘1 小时前
前端转型全栈(Java后端)的快速上手指引
前端·后端·全栈
浏览器工程师2 小时前
AI Agent 接浏览器任务,先别让它一路点到底
前端·后端
行者全栈架构师2 小时前
Maven dependency:tree 的 8 个高级用法
java·后端
Chenyiax2 小时前
从一次请求看懂 OkHttp:架构、调度与连接管理
后端
爱勇宝3 小时前
深扒 Anthropic 1680 位工程师简历:应届生几乎没机会,AI 公司最缺的不是博士
前端·后端·程序员
AskHarries3 小时前
工具失败时怎么办:重试、回滚、人工确认和风险提示
后端·程序员
苏三说技术5 小时前
Claude Code从失控到起飞,只用了这些技巧
后端
长栎6 小时前
写 for 循环写了十年,你却从没用过迭代器模式最狠的那一面
后端
LiaCode6 小时前
Redis 在生产项目的使用
前端·后端
用户559822481226 小时前
Docker Compose Down 导致容器数据误删——ext4 日志恢复全记录
后端