| Task: | Lehmät | 
| Sender: | Arska123 | 
| Submission time: | 2022-10-31 12:51:26 +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 | 
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 | 
