盒子(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");
}
相关推荐
右耳朵猫AI4 分钟前
Python周刊2026W22 | Django 6.1 Alpha 1发布、Nuitka 4.1发布、PEP 831终稿、PEP 808已接受
开发语言·python·django
小闹5496 分钟前
CLAUDE CODE生成可视化数据库工具
后端
半个烧饼不加肉7 分钟前
JS 底层探究-- 普通函数和构造函数
开发语言·javascript·原型模式
小白不白11115 分钟前
C# WinForm 与 VP 二次开发
开发语言·c#
程序猿乐锅22 分钟前
【JAVASE | 第十七篇】Java 网络通信
java·开发语言
星星电灯猴23 分钟前
全面解决Charles抓取HTTPS请求响应中文乱码问题的方法与技巧
后端·ios
飞舞哲33 分钟前
三维点云最小二乘拟合MATLAB程序
开发语言·算法·matlab
有点。34 分钟前
C++(贪心算法二)
开发语言·c++·贪心算法
meilindehuzi_a34 分钟前
透视 V8 底部:从物理内存到函数式哲学,重新解构 JavaScript 数组
开发语言·javascript·ecmascript
jllllyuz35 分钟前
HVDC 高压直流输电系统 MATLAB/Simulink 仿真全集
开发语言·matlab