CSES - Datatähti 2023 alku - Results
Submission details
Task:Lehmät
Sender:Arska123
Submission time:2022-10-31 12:51:26 +0200
Language:Rust
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED28
#2ACCEPTED72
Test results
testverdicttimegroup
#1ACCEPTED0.00 s1, 2details
#2ACCEPTED0.00 s1, 2details
#3ACCEPTED0.00 s1, 2details
#4ACCEPTED0.00 s1, 2details
#5ACCEPTED0.00 s1, 2details
#6ACCEPTED0.00 s2details
#7ACCEPTED0.00 s2details
#8ACCEPTED0.00 s2details
#9ACCEPTED0.00 s2details

Code

use std::io::stdin;

fn main() {
    let mut buf = String::with_capacity(2);
    stdin().read_line(&mut buf).unwrap();
    
    let (n, _m): (i32, i32) = {
        let mut iter = buf.split_whitespace();
        let n = iter.next().unwrap();
        let m = iter.next().unwrap();

        (n.parse().unwrap(), m.parse().unwrap())
    };

    let mut last_fence;
    let mut horizontal;

    let mut is_in;
    let mut cows = 0;
    for _ in 0..n {
        buf.clear();
        horizontal = false;
        last_fence = false;
        is_in = false;
        stdin().read_line(&mut buf).unwrap();
        for c in buf.chars() {
            match c {
                '*' => {
                    is_in = !is_in;
                    if last_fence {
                        horizontal = true;
                    }
                    last_fence = true;
                }
                _ => {
                    last_fence = false;
                    match c {
                        '.' => {}
                        '@' => {
                            if is_in && !horizontal {
                                cows += 1;
                            }
                        }    
                        _ => {}
                    }
                }
            }
        }
    }

    println!("{}", cows);
}

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