Task: | Lehmät |
Sender: | fait |
Submission time: | 2022-10-31 19:53:13 +0200 |
Language: | Rust |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 28 |
#2 | ACCEPTED | 72 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.00 s | 1, 2 | details |
#2 | ACCEPTED | 0.00 s | 1, 2 | details |
#3 | ACCEPTED | 0.00 s | 1, 2 | details |
#4 | ACCEPTED | 0.00 s | 1, 2 | details |
#5 | ACCEPTED | 0.00 s | 1, 2 | details |
#6 | ACCEPTED | 0.00 s | 2 | details |
#7 | ACCEPTED | 0.00 s | 2 | details |
#8 | ACCEPTED | 0.00 s | 2 | details |
#9 | ACCEPTED | 0.00 s | 2 | details |
Compiler report
warning: unused variable: `m` --> input/code.rs:22:9 | 22 | let m = nm[1].parse::<i32>().unwrap(); | ^ help: if this is intentional, prefix it with an underscore: `_m` | = note: `#[warn(unused_variables)]` on by default warning: 1 warning emitted
Code
#[inline]fn min(a: usize, b: usize) -> usize {if a < b {return a;}return b;}#[inline]fn max(a: usize, b: usize) -> usize {if a > b {return a;}return b;}fn main() {let mut buffer = String::new();std::io::stdin().read_line(&mut buffer).unwrap();let nm: Vec<&str> = buffer.trim().split(' ').collect();let n = nm[0].parse::<i32>().unwrap();let m = nm[1].parse::<i32>().unwrap();let mut cows: Vec<Vec<char>> = Vec::new();let mut count: usize = 0;for _ in 0..n {let mut buffer_t = String::new();std::io::stdin().read_line(&mut buffer_t).unwrap();count += buffer_t.matches('@').count();cows.push(buffer_t.trim().chars().collect());}let mut inside: bool = false;for j in 0..cows.len() {for k in 0..cows[j].len() {if cows[j][k] == '*' {if k == 0 && cows[j][k + 1] != '*' {inside = true;} else if cows[j][min(k + 1, cows[j].len() - 1)] != '*' && cows[j][max(if k > 0 { k - 1 } else { 0 }, 0)] != '*' {inside = !inside;}}if cows[j][k] == '@' && !inside {count -= 1_usize;cows[j][k] = 'C';}}}println!("{}", count);}
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
input |
---|
3 3 *** *.* *** |
correct output |
---|
0 |
user output |
---|
0 |
Test 2
Group: 1, 2
Verdict: ACCEPTED
input |
---|
3 3 *** *@* *** |
correct output |
---|
1 |
user output |
---|
1 |
Test 3
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 10 ...@...... ..******.. @.*@@@@*.@ ..******.. ... |
correct output |
---|
4 |
user output |
---|
4 |
Test 4
Group: 1, 2
Verdict: ACCEPTED
input |
---|
10 10 @@...@.@@@ ..@@.@@..@ @.*******@ ..*@....*. ... |
correct output |
---|
11 |
user output |
---|
11 |
Test 5
Group: 1, 2
Verdict: ACCEPTED
input |
---|
10 10 ********** *@@@@@@@@* *@@@@@@@@* *@@@@@@@@* ... |
correct output |
---|
64 |
user output |
---|
64 |
Test 6
Group: 2
Verdict: ACCEPTED
input |
---|
100 100 .........................@....... |
correct output |
---|
60 |
user output |
---|
60 |
Test 7
Group: 2
Verdict: ACCEPTED
input |
---|
100 100 ..@@..........@......@....@@..... |
correct output |
---|
1507 |
user output |
---|
1507 |
Test 8
Group: 2
Verdict: ACCEPTED
input |
---|
100 100 .@..@@..@@.@..@..@..@@..@..@..... |
correct output |
---|
3348 |
user output |
---|
3348 |
Test 9
Group: 2
Verdict: ACCEPTED
input |
---|
100 100 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@... |
correct output |
---|
7225 |
user output |
---|
7225 |