Submission #1179628

#TimeUsernameProblemLanguageResultExecution timeMemory
1179628pythontestBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
221 ms79880 KiB
#include <iostream>
#include <string>
constexpr int N=3007;
int sumorb[N][N];
int sumingot[N][N];
bool is[N][N];
using namespace std;
int main() {
    int h,w;
    string s;
    cin>>h>>w;
    for(int i=1;i<=h;i++){
        cin>>s;
        for(int j=1;j<=w;j++){
            if(s[j-1]=='J')is[i][j]=1;
            else if(s[j-1]=='I') sumingot[i][j]++;
            else
                sumorb[i][j]++;
        }
    }
    for(int i=h;i>0;i--){
        for(int j=w;j>0;j--) {
            sumorb[i][j]+=sumorb[i][j+1];
            sumingot[i][j]+=sumingot[i+1][j];
        }
    }

    long long res=0;
    for(int i=1;i<=h;i++){
        for(int j=1;j<=w;j++){
            if(!is[i][j]) continue;
            res+=sumorb[i][j]*sumingot[i][j];
        }
    }
    cout<<res;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...