盒子(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");
}
相关推荐
大卫小东(Sheldon)1 分钟前
大模型智能体 (agent)简易流程介绍
ai·rust
半瓶榴莲奶^_^6 分钟前
java模式
java·开发语言
sword devil9007 分钟前
TRAE:agent团队
开发语言
co_wait8 分钟前
【c 语言】linux下gcc编译工具的使用
linux·c语言·开发语言
2301_815482939 分钟前
C++编译期矩阵运算
开发语言·c++·算法
听风者就是我10 分钟前
混合检索:关键词 + 向量的最佳组合
后端·ai编程
☆56614 分钟前
C++中的类型擦除技术
开发语言·c++·算法
m0_5698814720 分钟前
C++与自动驾驶系统
开发语言·c++·算法
天理小学渣21 分钟前
JavaScript_基础教程_自学笔记
开发语言·javascript·笔记
Memory_荒年25 分钟前
当餐厅后厨也懂分布式:SpringBoot中的重试、限流、熔断与幂等的“四重奏”
java·后端·spring