CSES - Datatähti 2023 alku - Results
Submission details
Task:Lehmät
Sender:ToVoid
Submission time:2022-11-05 21:12:50 +0200
Language:Rust
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#1ACCEPTED0.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};


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


    let mut uolevin_tila: [[char; 100]; 100] = [['.'; 100]; 100];

    for i in 0..n { // koko rivien lukeminen
        input.read_line(&mut line).unwrap();
        let mut chars = line.as_str().chars();

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

    
    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);

    let mut lehmien_num = 0;
    for i in (aidan_yla_kulma.0)..(aidan_ala_kulma.0) {
        for j in (aidan_yla_kulma.1)..(aidan_ala_kulma.1) {
            if '@' == uolevin_tila[i][j] {
                lehmien_num += 1;
            }
        }
    }

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

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

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

correct output
0

user output
0

Test 2

Group: 1, 2

Verdict:

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

correct output
1

user output
0

Test 3

Group: 1, 2

Verdict:

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

correct output
4

user output
0

Test 4

Group: 1, 2

Verdict:

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

correct output
11

user output
0

Test 5

Group: 1, 2

Verdict:

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

correct output
64

user output
0

Test 6

Group: 2

Verdict:

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

correct output
60

user output
0

Test 7

Group: 2

Verdict:

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

correct output
1507

user output
0

Test 8

Group: 2

Verdict:

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

correct output
3348

user output
0

Test 9

Group: 2

Verdict:

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

correct output
7225

user output
0