| Task: | Lehmät | 
| Sender: | Mikael Tuokko | 
| Submission time: | 2022-11-01 17:02:35 +0200 | 
| Language: | C++ (C++11) | 
| Status: | READY | 
| Result: | 28 | 
| group | verdict | score | 
|---|---|---|
| #1 | ACCEPTED | 28 | 
| #2 | RUNTIME ERROR | 0 | 
| 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 | 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
#include <bits/stdc++.h>
using namespace std;
int main() {
    
    int n, m;
    cin >> n >> m;
    char alue[m][n]; // x, y
    for (int i = n - 1; i >= 0; i--) {
        string a;
        cin >> a;
        for (int j = 0; j <= m; j++) {
            alue[j][i] = a[j]; // x, y
        }
    }
    // finding the area inside the fence
    pair<int, int> nurkka_a;
    pair<int, int> nurkka_b;
    // finding the corners of the fence
    for (int i = n-1; i >= 0; i--) {
        for (int j = 0; j < m; j++) {
            if (alue[j][i] == '*') {
                nurkka_a.first = j;
                nurkka_a.second = i;
                goto afterNurkka_a;
            }
        }
    }
    afterNurkka_a:
    for (int i = 0; i < m; i++) {
        for (int j = m-1; j >= 0; j--) {
            if (alue[j][i] == '*') {
                nurkka_b.first = j;
                nurkka_b.second = i;
                goto afterNurkka_b;
            }
        }
    }
    afterNurkka_b:
    // counting the cows inside the fence
    int lehmiä = 0;
    for (int i = nurkka_a.second-1; i >= nurkka_b.second+1; i--) {
        for (int j = nurkka_a.first+1; j <= nurkka_b.first-1; j++) {
            if (alue[j][i] == '@') {
                lehmiä++;
            }
        }
    }
    
    cout << lehmiä << "\n";
}
/*
...........................
...........................
....**********************.
....*......@.............*.
....*...@..........@.....*.
....*..@@........@.......*.
....*....@@@.......@.@...*.
....*@@....@@............*.
....**********************.
...........................
...........................
......@@@@@................
...........................
...........................
...........................
*/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: RUNTIME ERROR
| input | 
|---|
| 100 100 .........................@.......  | 
| correct output | 
|---|
| 60 | 
| user output | 
|---|
| (empty) | 
Error:
*** stack smashing detected ***: terminated
Test 7
Group: 2
Verdict: RUNTIME ERROR
| input | 
|---|
| 100 100 ..@@..........@......@....@@.....  | 
| correct output | 
|---|
| 1507 | 
| user output | 
|---|
| (empty) | 
Error:
*** stack smashing detected ***: terminated
Test 8
Group: 2
Verdict: RUNTIME ERROR
| input | 
|---|
| 100 100 .@..@@..@@.@..@..@..@@..@..@.....  | 
| correct output | 
|---|
| 3348 | 
| user output | 
|---|
| (empty) | 
Error:
*** stack smashing detected ***: terminated
Test 9
Group: 2
Verdict: RUNTIME ERROR
| input | 
|---|
| 100 100 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@...  | 
| correct output | 
|---|
| 7225 | 
| user output | 
|---|
| (empty) | 
Error:
*** stack smashing detected ***: terminated
