Submission #1093660

#TimeUsernameProblemLanguageResultExecution timeMemory
1093660v1vyBitaro the Brave (JOI19_ho_t1)C++17
20 / 100
5 ms8860 KiB
#include <bits/stdc++.h>
using namespace std;
const int N=3005;
int h,w,ai[N][N],ao[N][N],cnt;
char a[N][N];
int main(){
    cin.tie(NULL)->sync_with_stdio(false);
    cin>>h>>w;
    for (int i=1; i<=h; i++){
        string s;
        cin>>s;
        for (int j=1; j<=w; j++){
            a[i][j]=s[j-1];
        }
    }/*
    for (int i=1; i<=h; i++){
        for (int j=1; j<=w; j++){
            cout<<a[i][j];
        }
        cout<<'\n';
    }*/
    for (int i=h; i>0; i--){
        for (int j=w; j>0; j--){
            if (a[i][j]=='I') ai[i][j]=ai[i+1][j]+1;
            else ai[i][j]=ai[i+1][j];
            if (a[i][j]=='O') ao[i][j]=ao[i][j+1]+1;
            else ao[i][j]=ao[i][j+1];
        }
    }
    for (int i=1; i<=h; i++){
        for (int j=1; j<=w; j++){
            if(a[i][j]=='J') cnt+=ai[i][j]*ao[i][j];
        }
    }
    cout<<cnt;
    /*
    for (int i=1; i<=h; i++){
        for (int j=1; j<=w; j++){
            cout<<ai[i][j]<<' ';
        }
        cout<<'\n';
    }

    for (int i=1; i<=h; i++){
        for (int j=1; j<=w; j++){
            cout<<ao[i][j]<<' ';
        }
        cout<<'\n';
    }*/
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...