| Task: | Lehmät | 
| Sender: | ToVoid | 
| Submission time: | 2022-11-05 17:13:27 +0200 | 
| Language: | Rust | 
| Status: | READY | 
| Result: | 0 | 
| group | verdict | score | 
|---|---|---|
| #1 | RUNTIME ERROR | 0 | 
| #2 | RUNTIME ERROR | 0 | 
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | RUNTIME ERROR | 0.00 s | 1, 2 | details | 
| #2 | RUNTIME ERROR | 0.00 s | 1, 2 | details | 
| #3 | RUNTIME ERROR | 0.00 s | 1, 2 | details | 
| #4 | RUNTIME ERROR | 0.00 s | 1, 2 | details | 
| #5 | RUNTIME ERROR | 0.00 s | 1, 2 | details | 
| #6 | RUNTIME ERROR | 0.00 s | 2 | details | 
| #7 | RUNTIME ERROR | 0.00 s | 2 | details | 
| #8 | RUNTIME ERROR | 0.00 s | 2 | details | 
| #9 | RUNTIME ERROR | 0.00 s | 2 | details | 
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: RUNTIME ERROR
| 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: RUNTIME ERROR
| 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: RUNTIME ERROR
| 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: RUNTIME ERROR
| 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: RUNTIME ERROR
| 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: RUNTIME ERROR
| 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: RUNTIME ERROR
| 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: RUNTIME ERROR
| 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: RUNTIME ERROR
| 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:...
