| Task: | Distinct sums |
| Sender: | Hävisin kalapelin |
| Submission time: | 2025-11-08 14:47:47 +0200 |
| Language: | Rust (2021) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.00 s | details |
| #9 | ACCEPTED | 0.01 s | details |
| #10 | ACCEPTED | 0.01 s | details |
| #11 | ACCEPTED | 0.00 s | details |
| #12 | ACCEPTED | 0.01 s | details |
| #13 | ACCEPTED | 0.00 s | details |
Compiler report
warning: unused `Result` that must be used --> input/code.rs:38:5 | 38 | io::stdin().read_line(&mut input); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: this `Result` may be an `Err` variant, which should be handled = note: `#[warn(unused_must_use)]` on by default help: use `let _ = ...` to ignore the resulting value | 38 | let _ = io::stdin().read_line(&mut input); | +++++++ warning: 1 warning emitted
Code
use std::io;
use std::cmp::Ordering;
//const POWERS: [isize; 9] = [2,4,8,16,32,64,128,256,512];
/*const ANSWERS: [&str; 2] = [
"1 2
0 0",
"2 2 1 2
2 2 0 0
1 2 0 0
0 0 0 0",
"2 2 2 2 2 2 1 2
2 2 2 2 2 2 0 0
2 2 2 2 1 2 0 0
2 2 2 2 0 0 0 0
2 2 1 2 0 0 0 0
2 2 0 0 0 0 0 0
1 2 0 0 0 0 0 0
0 0 0 0 0 0 0 0",
"2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0
2 2 2 2 2 2 2 2 2 2 2 2 1 2 0 0
2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0
2 2 2 2 2 2 2 2 2 2 1 2 0 0 0 0
2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0
2 2 2 2 2 2 2 2 1 2 0 0 0 0 0 0
2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0
2 2 2 2 2 2 1 2 0 0 0 0 0 0 0 0
2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0
2 2 2 2 1 2 0 0 0 0 0 0 0 0 0 0
2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0
2 2 1 2 0 0 0 0 0 0 0 0 0 0 0 0
2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0" */
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input);
let input = input.trim().parse::<isize>().unwrap();
if input % 2 == 0 {
println!("YES");
for i in 0..input {
let mut line = String::new();
for j in 0..input / 2 {
let val = i + j * 2;
match val.cmp(&(input-2)) {
Ordering::Less => line.push_str("2 2 "),
Ordering::Equal => line.push_str("1 2 "),
Ordering::Greater => line.push_str("0 0 ")
}
}
println!("{}", line.trim());
}
} else {
println!("IMPOSSIBLE");
}
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 1 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 2 |
| correct output |
|---|
| YES 0 1 0 2 |
| user output |
|---|
| YES 1 2 0 0 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 3 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 4 |
| correct output |
|---|
| YES 0 1 0 0 0 2 2 2 0 2 0 1 0 2 0 2 |
| user output |
|---|
| YES 2 2 1 2 2 2 0 0 1 2 0 0 0 0 0 0 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 5 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 657 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 132 |
| correct output |
|---|
| YES 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| user output |
|---|
| YES 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ... |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 765 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 838 |
| correct output |
|---|
| YES 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| user output |
|---|
| YES 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ... |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 996 |
| correct output |
|---|
| YES 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| user output |
|---|
| YES 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ... |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 997 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 998 |
| correct output |
|---|
| YES 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ... |
| user output |
|---|
| YES 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ... |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 999 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
