Submission #230047

#TimeUsernameProblemLanguageResultExecution timeMemory
230047nickmet2004Bitaro the Brave (JOI19_ho_t1)C++11
50 / 100
24 ms18688 KiB
#include<bits/stdc++.h> #define ll long long using namespace std; const int N = 2005; int H , W; string s[N]; int Jo[N][N] , Ji[N][N]; ll solve(){ for(int i = 0; i < H; ++i){ int cntO = 0; for(int j = W - 1; j >= 0; --j){ if(s[i][j] == 'O') ++cntO; if(s[i][j] == 'J') Jo[i][j] = cntO; } } for(int i = 0; i < W; ++i){ int cntI = 0; for(int j = H - 1; j>= 0; --j){ if(s[j][i] == 'I') ++cntI; if(s[j][i] == 'J') Ji[j][i] = cntI; } }/* for(int i = 0; i < H; ++i){ for(int j = 0; j < W; ++j) cout << Jo[i][j] << " "; cout << endl; }cerr << endl; for(int i = 0; i < H; ++i){ for(int j = 0; j < W; ++j) cout << Ji[i][j] << " "; cout << endl; }cerr << endl; */ ll ans = 0; for(int i = 0; i < H; ++i){ for(int j = 0; j < W; ++j){ //cerr << Jo[i][j] * Ji[i][j] << endl; ans += 1LL*(Jo[i][j] * Ji[i][j]); } } return ans; } int main (){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> H >> W; for(int i = 0; i < H; ++i) cin >> s[i]; cout << solve() << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...