CSES - Datatähti 2023 alku - Results
Submission details
Task:Lehmät
Sender:Mikael Tuokko
Submission time:2022-11-01 17:59:07 +0200
Language:C++11
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

#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: 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