#include <bits/stdc++.h>
//N8H+R!dg!ZZ5=+6
using namespace std;
using ll = int;
const ll N=3005;
ll n,m,a[N][N],pref[N][N][2];
map<char,ll>mp;
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    string s="JOI";
    for(ll i=0;i<3;i++)mp[s[i]]=i;
    cin>>n>>m;
    for(ll i=1;i<=n;i++){
        for(ll j=1;j<=m;j++){
            char c;
            cin>>c;
            a[i][j]=mp[c];
        }
    }for(ll i=1;i<=n;i++){
        for(ll j=m;j>=1;j--){
            pref[i][j][0]=pref[i][j+1][0]+(a[i][j]==1);
        }
    }for(ll j=1;j<=m;j++){
        for(ll i=n;i>=1;i--){
            pref[i][j][1]=pref[i+1][j][1]+(a[i][j]==2);
        }
    }ll ans=0;
    for(ll i=1;i<=n;i++){
        for(ll j=1;j<=m;j++){
            cerr<<a[i][j];
            if(a[i][j])continue;
            ans+=(pref[i][j][0]*pref[i][j][1]);
        }cerr<<'\n';
    }cout<<ans;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |