给定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");
}