Submission #862547

#TimeUsernameProblemLanguageResultExecution timeMemory
862547NinedesuBitaro the Brave (JOI19_ho_t1)C++14
100 / 100
289 ms159264 KiB
#include<bits/stdc++.h> #define ll long long using namespace std; const int N=3002; int n,m; ll ans; ll dpi[N][N],dpo[N][N]; string s,mp[N]; int main(){ ios_base::sync_with_stdio(0),cin.tie(0); cin >> n >> m; for(int i=1; i<=n; i++){ cin >> s; mp[i]="x"+s; } for(int i=n; i>=1; i--){ for(int j=1; j<=m; j++){ dpi[i][j]=dpi[i+1][j]; if(mp[i][j]=='I')dpi[i][j]++; } } for(int j=m; j>=1; j--){ for(int i=1; i<=n; i++){ dpo[i][j]=dpo[i][j+1]; if(mp[i][j]=='O')dpo[i][j]++; } } for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ if(mp[i][j]=='J'&&dpi[i][j]&&dpo[i][j])ans+=dpi[i][j]*dpo[i][j]; } } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...