盒子(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");
}
相关推荐
Hiter_John1 分钟前
Golang的循环语句
开发语言·算法·golang
拾光师2 分钟前
Python 列表(List)与元组(Tuple)详解
后端
copyer_xyf6 分钟前
Python 类全面总结
前端·后端·python
绍磊leo8 分钟前
Go 实现类似 FastAPI 的后端服务:从入门到实战
开发语言·golang
一条泥憨鱼9 分钟前
Java网络编程:Socket通信从入门到起飞
java·开发语言·网络·网络编程
磊 子10 分钟前
STL算法库讲解1
开发语言·c++·算法
Hiter_John10 分钟前
Golang的条件判断
服务器·开发语言·golang
copyer_xyf10 分钟前
Python 类型注解:从 TypeScript 迁移理解
前端·后端·python
276695829211 分钟前
谷歌google cookie逆向角度分析
开发语言·python·google·sgss·谷歌搜索·sg-ss·谷歌cookie逆向
IT_陈寒11 分钟前
React开发实战:从入门到精通
前端·人工智能·后端