CSES - Datatähti 2023 alku - Results
Submission details
Task:Lehmät
Sender:ToVoid
Submission time:2022-11-05 21:22:50 +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::{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
line = "".to_string();
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); // (i, j)
let aidan_ala_kulma: (usize, usize) = aidan_ala_kulma(n, m, &uolevin_tila); // (i, j)
let mut lehmien_num = 0;
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: 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