Submission #492733

#TimeUsernameProblemLanguageResultExecution timeMemory
492733niloyrootBitaro the Brave (JOI19_ho_t1)C++14
50 / 100
342 ms274436 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using vi = vector<ll>; using pl = pair<ll,ll>; #define pb push_back #define form(m,it) for(auto it=m.begin(); it!=m.end(); it++) #define forp(i,a,b) for(ll i=a; i<=b; i++) #define forn(i,a,b) for(ll i=a; i>=b; i--) #define newl '\n' #define ff first #define ss second const ll mod = 1000000007; void solve(){ ll h,w; cin>>h>>w; ll a[h+1][w+1]; char c; map<char,ll> m; m['J']=0; m['O']=1; m['I']=2; forp(i,1,h){ forp(j,1,w){ cin>>c; a[i][j]=m[c]; } } ll cr[3][h+1][w+1]; ll cc[3][h+1][w+1]; memset(cr,0,sizeof(cr)); memset(cc,0,sizeof(cc)); forp(i,1,h){ forp(j,1,w){ forp(k,0,2){ cr[k][i][j]=cr[k][i][j-1]+(a[i][j]==k); } } } forp(i,1,h){ forp(j,1,w){ forp(k,0,2){ cc[k][i][j]=cc[k][i-1][j]+(a[i][j]==k); } } } ll ans=0; forp(i,1,h){ forp(j,1,w){ if(a[i][j]==0){ ans+=(cr[1][i][w]-cr[1][i][j-1])*(cc[2][h][j]-cc[2][i-1][j]); } } } cout<<ans<<newl; } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int t=1; //cin>>t; while(t--)solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...