Submission #667307

#TimeUsernameProblemLanguageResultExecution timeMemory
667307Darren0724Bitaro the Brave (JOI19_ho_t1)C++17
100 / 100
206 ms89500 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    long long ans=0;
    int n,m;cin>>n>>m;
    vector<string> v(n);
    for(int i=0;i<n;i++){
        cin>>v[i];
    }
    vector<vector<int>> O(n,vector<int>(m)),I(n,vector<int>(m));
    for(int i=0;i<n;i++){
        int cnt=0;
        for(int j=m-1;j>=0;j--){
            if(v[i][j]=='O'){
                cnt++;
            }
            O[i][j]=cnt;
        }
    }
    for(int i=0;i<m;i++){
        int cnt=0;
        for(int j=n-1;j>=0;j--){
            if(v[j][i]=='I'){
                cnt++;
            }
            I[j][i]=cnt;
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            if(v[i][j]=='J'){
                ans+=I[i][j]*O[i][j];
            }
        }
    }
    cout<<ans<<endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...