제출 #166065

#제출 시각아이디문제언어결과실행 시간메모리
166065davooddkareshkiBitaro the Brave (JOI19_ho_t1)C++17
100 / 100
249 ms83064 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;

#define F first
#define S second

const int maxn = 3e3+10;
const int mod = 1e9+7;

int n, m;
int R[maxn][maxn], D[maxn][maxn];
char a[maxn][maxn];

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

    cin>> n >> m;
    for(int i = 1; i <= n; i++)
        for(int j = 1; j <= m; j++)
            cin>> a[i][j];

    ll ans = 0;
    for(int i = n; i >= 1; i--)
        for(int j = m; j >= 1; j--){
            R[i][j] = R[i][j+1] + (a[i][j] == 'O');
            D[i][j] = D[i+1][j] + (a[i][j] == 'I');
            if(a[i][j] == 'J')
                ans += D[i][j] * R[i][j];
        }
    cout<< ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...