CSES - Datatähti 2023 alku - Results
Submission details
Task:Lehmät
Sender:smalyarovsky
Submission time:2022-11-13 19:47:03 +0200
Language:C++ (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.01 s2details
#7ACCEPTED0.01 s2details
#8ACCEPTED0.01 s2details
#9ACCEPTED0.01 s2details

Code

#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#include <set>
#include <cmath>
#include <numeric>
#include <random>
#include <chrono>
#include <ctime>
#define int long long
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
using namespace std;
const int INF = 1e18;


signed main() {
    //freopen("file.in", "r", stdin);
    //freopen("file.out", "w", stdout);
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.precision(20);
    cout.setf(ios::fixed);
    int n, m; cin >> n >> m;
    vector<vector<char>> sas(n, vector<char> (m));
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            cin >> sas[i][j];
        }
    }
    int ans = 0;
    for (int i = 0; i < n; ++i) {
        for (int j = 0; j < m; ++j) {
            int l = 0, r = 0, u = 0, d = 0;
            for (int k = 0; k < i; ++k) {
                if (sas[k][j] == '*') {
                    l++;
                }
            }
            for (int k = i + 1; k < n; ++k) {
                if (sas[k][j] == '*') {
                    r++;
                }
            }
            for (int k = 0; k < j; ++k) {
                if (sas[i][k] == '*') {
                    u++;
                }
            }
            for (int k = j + 1; k < m; ++k) {
                if (sas[i][k] == '*') {
                    d++;
                }
            }
            if (l == r && r == u && u == d && d == 1 && sas[i][j] == '@') {
                ans++;
            }
        }
    }
    cout << ans << endl;
    return 0;
}

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