给定6个矩形的长和宽wi和hi(1≤wi,hi≤1000),判断它们能否构成长方体的6个面。
样例文章来源:https://www.toymoban.com/news/detail-725049.html
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
解法文章来源地址https://www.toymoban.com/news/detail-725049.html
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");
}
到了这里,关于盒子(Box, ACM/ICPC NEERC 2004, UVa1587)rust解法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!