Submission #1159702

#TimeUsernameProblemLanguageResultExecution timeMemory
1159702fatman87878Bitaro the Brave (JOI19_ho_t1)C++20
100 / 100
111 ms35792 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long 
#define all(x) (x).begin(),(x).end()
#define lb(x) ((x)&-(x))
#define IOS cin.tie(nullptr)->sync_with_stdio(0);

constexpr int maxN = 3e3+5;

int h,w,row[maxN],col[maxN],val[maxN][maxN];

int main(){
    IOS
    cin>>h>>w;
    for(int i = 1;i<=h;i++){
        string s;cin>>s;
        for(int j = 1;j<=w;j++){
            val[i][j] = (s[j-1]=='J'?0:(s[j-1]=='O'?1:2));
            row[i] += s[j-1]=='O';
            col[j] += s[j-1]=='I';
        }
    }
    ll ans = 0;
    for(int i = 1;i<=h;i++)for(int j = 1;j<=w;j++){
        if(val[i][j]==0){
            ans+=row[i]*col[j];
        }
        else if(val[i][j]==1){
            row[i]--;
        }
        else {
            col[j]--;
        }
    }
    cout<<ans<<'\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...