Submission #1272173

#TimeUsernameProblemLanguageResultExecution timeMemory
1272173nonjapenzilBitaro the Brave (JOI19_ho_t1)C++20
0 / 100
1 ms568 KiB
#include <bits/stdc++.h>
using namespace std;
#define pf(a) printf("%.9f", a)
#define SZ size()
#define ll long long
#define pb push_back
#define BBC ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
void W2dNHK() {
    ll h,w;
    cin>>h>>w;
    ll i,j;
    char r[h+1][w+1];
    ll a[h+1][w+1],b[h+1][w+1];
    for(i=1 ; i<=h ; i++ ){
        for(j=1 ; j<=w ; j++ ){
            cin>>r[i][j];
            a[i][j]=0;
            b[i][j]=0;
        }
    }
    for(i=1 ; i<=h ; i++ ){
        if(r[i][w]=='0'){
            a[i][w]=1;
        }
        for(j=w-1 ; j>=1 ; j-- ){
            if(r[i][j]=='O'){
                a[i][j]=a[i][j+1]+1;
            }
            else{
                a[i][j]=a[i][j+1];
            }
        }
    }
    for(i=1 ; i<=w ; i++ ){
        if(r[h][i]=='I'){
            b[h][i]=1;
        }
        for(j=h-1 ; j>=1 ; j-- ){
            if(r[j][i]=='I'){
                b[j][i]=b[j][i+1]+1;
            }
            else{
                b[j][i]=b[j][i+1];
            }
        }
    }
    ll sum=0;
    for(i=1 ; i<=h ; i++ ){
        for(j=1 ; j<=w ; j++ ){
            if(r[i][j]=='J'){
                sum+=a[i][j]*b[i][j];
            }
        }
    }
    cout<<sum;
}
int main() {
    BBC
    ll tc = 1;
    //cin>>tc;
    while (tc--) {
        W2dNHK();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...