Submission #1127500

#TimeUsernameProblemLanguageResultExecution timeMemory
1127500dugersurenBitaro the Brave (JOI19_ho_t1)C++20
50 / 100
1105 ms213916 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; struct T{ int x=0,y=0; }; int H,W; T V[3001][3001]; set<pair<int,int>> st; char c; T* tmp; string s[3001]; int main() { cin>>H>>W; for(int i=0;i<H;i++)cin>>s[i]; for(int i=0;i<H;i++){ int cnt=0; for(int j=W-1;j>=0;j--) switch(s[i][j]){ case 'O':cnt++;break; case 'J':V[i][j].x=cnt;st.insert({i,j});break; } } for(int i=0;i<W;i++){ int cnt=0; for(int j=H-1;j>=0;j--) switch(s[j][i]){ case 'I':cnt++;break; case 'J':V[j][i].y=cnt; st.insert({j,i}); break; } } ll sm=0; for(auto it:st)sm+=(V[it.first][it.second].x*V[it.first][it.second].y); cout<<sm; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...