| Task: | Lehmät | 
| Sender: | Tuukke | 
| Submission time: | 2022-10-31 21:22:28 +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 | 
Compiler report
warning: unused import: `std::ascii::escape_default` --> input/code.rs:1:5 | 1 | use std::ascii::escape_default; | ^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(unused_imports)]` on by default warning: unused variable: `w` --> input/code.rs:10:9 | 10 | let w = split.next().unwrap().parse::<usize>().unwrap(); | ^ help: if this is intentional, prefix it with an underscore: `_w` | = note: `#[warn(unused_variables)]` on by default warning: 2 warnings emitted
Code
use std::ascii::escape_default;
use std::io::{BufRead, BufReader};
fn main() {
    let mut input = BufReader::new(std::io::stdin());
    let mut size = String::new();
    input.read_line(&mut size).unwrap();
    let mut split = size.split_whitespace();
    let h = split.next().unwrap().parse::<usize>().unwrap();
    let w = split.next().unwrap().parse::<usize>().unwrap();
    //let mut temp: Vec<String> = Vec::with_capacity(w);
    let mut cows = 0;
    for _i in 0..h {
        let mut inside = false;
        let mut temp = 0;
        let mut row = String::new();
        input.read_line(&mut row).unwrap();
        let b = row.trim().chars().collect::<Vec<char>>();
        for c in b {
            if temp >= 2 {
                break;
            }
            if c.eq(&'*') {
                if temp < 2 {
                    inside = !inside;
                }
                temp += 1;
            }
            if c.eq(&'@') && inside {
                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 | 
