Submission #140792

#TimeUsernameProblemLanguageResultExecution timeMemory
140792blueBitaro the Brave (JOI19_ho_t1)C++14
100 / 100
997 ms88568 KiB
#include <iostream>
using namespace std;

int main()
{
    int H, W;
    cin >> H >> W;
    
    char T[H+1][W+1];
    int O[H+1][W+1], I[H+1][W+1];
    for(int i = 1; i <= H; i++) O[i][0] = 0;
    for(int j = 1; j <= W; j++) I[0][j] = 0;
    
    for(int i = 1; i <= H; i++) for(int j = 1; j <= W; j++)
    {
        cin >> T[i][j];
        O[i][j] = O[i][j-1] + (T[i][j] == 'O');
        I[i][j] = I[i-1][j] + (T[i][j] == 'I');
    }
    long long res = 0;
    for(int i = 1; i <= H; i++) for(int j = 1; j <= W; j++)
    {
        if(T[i][j] != 'J') continue;
        res += (O[i][W] - O[i][j]) * (I[H][j] - I[i][j]);
    }
    cout << res << '\n';
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...