| Task: | Ruudukko |
| Sender: | osku91 |
| Submission time: | 2020-09-06 20:27:17 +0300 |
| Language: | Rust |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 16 |
| #2 | ACCEPTED | 30 |
| #3 | ACCEPTED | 54 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #2 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #3 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #4 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #5 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #6 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
| #7 | ACCEPTED | 0.01 s | 2, 3 | details |
| #8 | ACCEPTED | 0.01 s | 2, 3 | details |
| #9 | ACCEPTED | 0.01 s | 2, 3 | details |
| #10 | ACCEPTED | 0.01 s | 2, 3 | details |
| #11 | ACCEPTED | 0.01 s | 2, 3 | details |
| #12 | ACCEPTED | 0.01 s | 2, 3 | details |
| #13 | ACCEPTED | 0.02 s | 3 | details |
| #14 | ACCEPTED | 0.03 s | 3 | details |
| #15 | ACCEPTED | 0.03 s | 3 | details |
| #16 | ACCEPTED | 0.03 s | 3 | details |
| #17 | ACCEPTED | 0.03 s | 3 | details |
| #18 | ACCEPTED | 0.03 s | 3 | details |
Compiler report
warning: unused variable: `i`
--> input/code.rs:18:9
|
18 | for i in 0..n {
| ^ help: consider prefixing with an underscore: `_i`
|
= note: `#[warn(unused_variables)]` on by default
warning: variable does not need to be mutable
--> input/code.rs:36:13
|
36 | let mut line: Vec<(u32, u32)> = vec![];
| ----^^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` on by defaultCode
use std::io;
use std::cmp;
fn main() {
let mut input_text = String::new();
io::stdin()
.read_line(&mut input_text)
.expect("failed to read from stdin");
let trimmed = input_text.trim();
let n = trimmed.parse::<u32>().unwrap();
// println!("n is {}", n);
let mut input_rows: Vec<String> = vec![];
for i in 0..n {
let mut input_text = String::new();
io::stdin()
.read_line(&mut input_text)
.expect("failed to read from stdin");
input_rows.push(input_text.trim().to_string());
// println!("read a line");
// println!("{}", input_text);
}
// println!("asdfasdf");
// for i in 0..n {
// println!("{}", input_rows[i as usize]);
// }
let mut point_values: Vec<Vec<(u32, u32)>> = vec![];
for x in 0..n {
let mut line: Vec<(u32, u32)> = vec![];
point_values.push(line);
for y in 0..n {
point_values[x as usize].push((0, 0));
let is_addition = input_rows[x as usize].as_bytes()[y as usize] == 'o' as u8;
// println!("{}", is_addition);
if x == 0 && y == 0 {
point_values[x as usize][y as usize] = (0, 0)
} else if x == 0 {
point_values[x as usize][y as usize] = point_values[x as usize][(y - 1) as usize]
} else if y == 0 {
point_values[x as usize][y as usize] = point_values[(x - 1) as usize][y as usize]
} else {
point_values[x as usize][y as usize].0 = cmp::min(
point_values[(x - 1) as usize][(y) as usize].0,
point_values[(x) as usize][(y - 1) as usize].0,
);
point_values[x as usize][y as usize].1 = cmp::max(
point_values[(x - 1) as usize][(y) as usize].1,
point_values[(x) as usize][(y - 1) as usize].1,
);
}
if is_addition {
point_values[x as usize][y as usize].0 += 1;
point_values[x as usize][y as usize].1 += 1;
}
}
}
// println!(
// "asdfg {} {}",
// point_values[n as usize - 1][n as usize - 1].0,
// point_values[n as usize - 1][n as usize - 1].1,
// );
println!(
"{}",
point_values[n as usize - 1][n as usize - 1].1 -
point_values[n as usize - 1][n as usize - 1].0 +
1
);
}
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10 .......... .......... .......... .......... ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 2
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10 o.o....... .......... .o...o.oo. ..o...o.oo ... |
| correct output |
|---|
| 9 |
| user output |
|---|
| 9 |
Test 3
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10 o......o.. oo.oo..... oooo....oo o.......oo ... |
| correct output |
|---|
| 14 |
| user output |
|---|
| 14 |
Test 4
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10 ..ooooo.oo .ooo.o..oo .....ooo.o ooo.ooo.oo ... |
| correct output |
|---|
| 12 |
| user output |
|---|
| 12 |
Test 5
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10 oooooooooo ooo....ooo .oo.oo.ooo oooooooooo ... |
| correct output |
|---|
| 10 |
| user output |
|---|
| 10 |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
| input |
|---|
| 10 oooooooooo oooooooooo oooooooooo oooooooooo ... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 7
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100 ................................. |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 8
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100 .........o.....o.........o..o.... |
| correct output |
|---|
| 114 |
| user output |
|---|
| 114 |
Test 9
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100 oo..oo.oo..o...o..o.o..o......... |
| correct output |
|---|
| 151 |
| user output |
|---|
| 151 |
Test 10
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100 o..o.ooo..oo.o.o.o..o.o..o..oo... |
| correct output |
|---|
| 143 |
| user output |
|---|
| 143 |
Test 11
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100 oo..oooooooooooo.oooo.o.o.oooo... |
| correct output |
|---|
| 115 |
| user output |
|---|
| 115 |
Test 12
Group: 2, 3
Verdict: ACCEPTED
| input |
|---|
| 100 oooooooooooooooooooooooooooooo... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 13
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1000 ................................. |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
Test 14
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1000 o..........o...o...o...o......... |
| correct output |
|---|
| 1121 |
| user output |
|---|
| 1121 |
Test 15
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1000 .o.............o....o.o......o... |
| correct output |
|---|
| 1583 |
| user output |
|---|
| 1583 |
Test 16
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1000 oooooo.oooooo.....oooo..o...o.... |
| correct output |
|---|
| 1574 |
| user output |
|---|
| 1574 |
Test 17
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1000 ooooo.oo.oooooooooo...o...oo..... |
| correct output |
|---|
| 1147 |
| user output |
|---|
| 1147 |
Test 18
Group: 3
Verdict: ACCEPTED
| input |
|---|
| 1000 oooooooooooooooooooooooooooooo... |
| correct output |
|---|
| 1 |
| user output |
|---|
| 1 |
