제출 #546038

#제출 시각아이디문제언어결과실행 시간메모리
546038andrei_boacaBitaro the Brave (JOI19_ho_t1)C++14
100 / 100
722 ms88508 KiB
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
int n,m;
char v[3005][3005];
int nrO[3005][3005],nrI[3005][3005];
ll ans;
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            cin>>v[i][j];
    for(int i=1;i<=n;i++)
        for(int j=m;j>=1;j--)
            nrO[i][j]=nrO[i][j+1]+(v[i][j]=='O');
    for(int j=1;j<=m;j++)
        for(int i=n;i>=1;i--)
            nrI[i][j]=nrI[i+1][j]+(v[i][j]=='I');
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            if(v[i][j]=='J')
            {
                ll val=1LL*nrO[i][j]*nrI[i][j];
                ans+=val;
            }
    cout<<ans;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...