盒子(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");
}
相关推荐
冰暮流星几秒前
javascript案例-简易计算器
开发语言·javascript·ecmascript
Rsun045512 分钟前
5、Java 原型模式从入门到实战
java·开发语言·原型模式
天若有情6733 分钟前
原创C++设计模式:功能归一化——无继承、轻量版AOP,比传统OOP更优雅
开发语言·c++·设计模式·oop
FrontAI3 分钟前
Next.js从入门到实战保姆级教程:实战项目(上)——全栈博客系统架构与核心功能
开发语言·前端·javascript·react.js·系统架构
不会写DN4 分钟前
处理非 UTF-8 输入:GB18030 回退策略
后端·go
zhangzeyuaaa4 分钟前
深入 Python 模块与包:从自定义到标准库,再到第三方库的完全指南
开发语言·python
上海合宙LuatOS5 分钟前
LuatOS扩展库API——【exvib】震动检测
开发语言·物联网·lua·luatos
freewlt7 分钟前
Rust在前端工具链的崛起:2026年生态全景
开发语言·前端·rust
Java面试题总结16 分钟前
Java常见面试题(160道)
java·开发语言