제출 #1357324

#제출 시각아이디문제언어결과실행 시간메모리
1357324kasamchiBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
148 ms80952 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    int H, W;
    cin >> H >> W;

    vector<string> S(H);
    for (int i = 0; i < H; i++) {
        cin >> S[i];
    }

    vector<vector<int>> cntO(H, vector(W, 0));
    for (int i = 0; i < H; i++) {
        cntO[i][W - 1] = (S[i][W - 1] == 'O');
        for (int j = W - 2; j >= 0; j--) {
            cntO[i][j] = cntO[i][j + 1] + (S[i][j] == 'O');
        }
    }

    vector<vector<int>> cntI(H, vector(W, 0));
    for (int j = 0; j < W; j++) {
        cntI[H - 1][j] = (S[H - 1][j] == 'I');
        for (int i = H - 2; i >= 0; i--) {
            cntI[i][j] = cntI[i + 1][j] + (S[i][j] == 'I');
        }
    }

    long long ans = 0;
    for (int i = 0; i < H; i++) {
        for (int j = 0; j < W; j++) {
            if (S[i][j] == 'J') {
                ans += cntO[i][j] * cntI[i][j];
            }
        }
    }
    cout << ans << '\n';
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…