Submission #1212085

#TimeUsernameProblemLanguageResultExecution timeMemory
1212085biankBitaro the Brave (JOI19_ho_t1)C++20
100 / 100
215 ms80968 KiB
#include <bits/stdc++.h> using namespace std; #define forn(i,n) for(int i=0;i<int(n);i++) #define forsn(i,s,n) for(int i=int(s);i<int(n);i++) #define dforn(i,n) for(int i=int(n)-1;i>=0;i--) #define dforsn(i,s,n) for(int i=int(n)-1;i>=int(s);i--) #define fst first #define snd second #define pb push_back #define eb emplace_back #define sz(x) (int)x.size() #define all(x) x.begin(), x.end() typedef long long ll; typedef vector<ll> vll; typedef vector<int> vi; typedef pair<int,int> ii; int main(){ ios::sync_with_stdio(0); cin.tie(0); int h,w; cin>>h>>w; vector<string> s(h); forn(i,h) cin>>s[i]; vector<vi> rows(h,vi(w+1)); vector<vi> cols(h+1,vi(w)); forn(i,h){ dforn(j,w) rows[i][j]=rows[i][j+1]+(s[i][j]=='O'); } forn(j,w){ dforn(i,h) cols[i][j]=cols[i+1][j]+(s[i][j]=='I'); } ll ret=0; forn(i,h) forn(j,w){ if(s[i][j]=='J') ret+=rows[i][j]*cols[i][j]; } cout<<ret<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...