Submission #1179636

#TimeUsernameProblemLanguageResultExecution timeMemory
1179636nekolieBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
227 ms80700 KiB
#include <bits/stdc++.h>
using namespace std;


int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    int n,m; cin >> n >> m;
    string joi[n]; int ile[n][m][2];
    for (int i = 0; i < n; i++) {
        cin >> joi[i];
        for (int j = 0; j < m; j++)
            ile[i][j][0] = ile[i][j][1] = 0;
    }
    for (int i = 0; i < n; i++) {
        int suma = 0;
        for (int j = m-1; j >= 0; j--) {
            if (joi[i][j] == 'O')
                suma++;
            else if (joi[i][j] == 'J')
                ile[i][j][0] = suma;
        }
    }
    for (int j = 0; j < m; j++) {
        int suma = 0;
        for (int i = n-1; i >= 0; i--) {
            if (joi[i][j] == 'I')
                suma++;
            else if (joi[i][j] == 'J')
                ile[i][j][1] = suma;
        }
    }
    long long odp = 0;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < m; j++)
            odp += 1ll*ile[i][j][0]*ile[i][j][1];
    cout << odp << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...