CSES - Datatähti 2023 alku - Results
Submission details
Task:Lehmät
Sender:ToVoid
Submission time:2022-11-05 17:13:27 +0200
Language:Rust
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.00 s1, 2details
#20.00 s1, 2details
#30.00 s1, 2details
#40.00 s1, 2details
#50.00 s1, 2details
#60.00 s2details
#70.00 s2details
#80.00 s2details
#90.00 s2details

Code

use std::io::{BufRead, BufReader};

use std::str::Chars;


fn aidan_yla_kulma(n: usize, m: usize, arr: &[[char; 100]; 100]) -> (usize, usize) {
    for i in 0..n {
        for j in 0..m {
            if '*' == arr[i][j] {
                return (i, j);
            }
        }
    }
    return (0, 0);
}

fn aidan_ala_kulma(n: usize, m: usize, arr: &[[char; 100]; 100]) -> (usize, usize) {
    for i in (0..n).rev() {
        for j in (0..m).rev() {
            if '*' == arr[i][j] {
                return (i, j);
            }
        }
    }
    return (0, 0);
}

fn main() {
    let mut input = BufReader::new(std::io::stdin());
    let mut line = "".to_string();
    input.read_line(&mut line).unwrap();
    let mut split = line.split_whitespace();
    let n: usize = split.next().unwrap().parse().unwrap(); // korkeus
    let m: usize = split.next().unwrap().parse().unwrap(); // leveys

    if n <= 2 {
        println!("0");
    } else if m <= 2 {
        println!("0");
    } else {
        let mut uolevin_tila: [[char; 100]; 100] = [['.'; 100]; 100];

        let mut chars: Chars;
        for i in 0..n { // koko rivien lukeminen
            input = BufReader::new(std::io::stdin());
            line = "".to_string();
            input.read_line(&mut line).unwrap();
            chars = line.as_str().chars();

            for j in 0..m { // yhden merkin lukeminen
                uolevin_tila[i][j] = chars.next().unwrap();
            }
        }

        let mut lehmien_num = 0;

        let aidan_yla_kulma: (usize, usize) = aidan_yla_kulma(n, m, &uolevin_tila);
        let aidan_ala_kulma: (usize, usize) = aidan_ala_kulma(n, m, &uolevin_tila);
        for i in (aidan_yla_kulma.0 + 1)..(aidan_ala_kulma.0) {
            for j in (aidan_yla_kulma.1 + 1)..(aidan_ala_kulma.1) {
                if '@' == uolevin_tila[i][j] {
                    lehmien_num += 1;
                }
            }
        }

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

Test details

Test 1

Group: 1, 2

Verdict:

input
3 3
***
*.*
***

correct output
0

user output
(empty)

Error:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', input/code.rs:51:...

Test 2

Group: 1, 2

Verdict:

input
3 3
***
*@*
***

correct output
1

user output
(empty)

Error:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', input/code.rs:51:...

Test 3

Group: 1, 2

Verdict:

input
5 10
...@......
..******..
@.*@@@@*.@
..******..
...

correct output
4

user output
(empty)

Error:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', input/code.rs:51:...

Test 4

Group: 1, 2

Verdict:

input
10 10
@@...@.@@@
..@@.@@..@
@.*******@
..*@....*.
...

correct output
11

user output
(empty)

Error:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', input/code.rs:51:...

Test 5

Group: 1, 2

Verdict:

input
10 10
**********
*@@@@@@@@*
*@@@@@@@@*
*@@@@@@@@*
...

correct output
64

user output
(empty)

Error:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', input/code.rs:51:...

Test 6

Group: 2

Verdict:

input
100 100
.........................@.......

correct output
60

user output
(empty)

Error:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', input/code.rs:51:...

Test 7

Group: 2

Verdict:

input
100 100
..@@..........@......@....@@.....

correct output
1507

user output
(empty)

Error:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', input/code.rs:51:...

Test 8

Group: 2

Verdict:

input
100 100
.@..@@..@@.@..@..@..@@..@..@.....

correct output
3348

user output
(empty)

Error:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', input/code.rs:51:...

Test 9

Group: 2

Verdict:

input
100 100
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...

correct output
7225

user output
(empty)

Error:
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', input/code.rs:51:...