盒子(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");
}
相关推荐
想学习java初学者1 分钟前
SpringBoot整合GS1编码解码
java·spring boot·后端
日月云棠2 分钟前
2 快速入门实战指南
java·后端
日月云棠3 分钟前
3 Dubbo 2.7 高级配置:检查控制、版本策略与协议选择
java·后端
计算机安禾3 分钟前
【c++面向对象编程】第40篇:单例模式(Singleton)的多种C++实现
开发语言·c++·单例模式
日月云棠12 分钟前
1 分布式架构演进与Dubbo框架入门
java·后端
彩票管理中心秘书长13 分钟前
智能体状态指示:何时思考、何时调用工具、何时出错
前端·后端·程序员
彩票管理中心秘书长13 分钟前
React + TypeScript拆解一整套“AI 变现代码流程”
前端·后端·程序员
ohh619 分钟前
从零打通 super-xiaoe:工单自动排查与评论闭环
后端
_日拱一卒19 分钟前
LeetCode:114二叉树展开为链表
java·开发语言·算法