제출 #151678

#제출 시각아이디문제언어결과실행 시간메모리
151678phillipStrah (COCI18_strah)C++14
66 / 110
1076 ms71096 KiB
#include <bits/stdc++.h> using namespace std; int n,m; long double l[2009][2009]; char gr[2009][2009]; long long ans; int main() { cin>>n>>m; for(int i=0;i<n;i++) { cin>>gr[i]; } for(int i=0;i<n;i++) { for(int j=m-1;j>=0;j--) { if(gr[i][j]=='#')continue; l[i][j]=1+l[i][j+1]; } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(l[i][j]==0)continue; long double mn=l[i][j]; for(int k=i;k<n;k++) { mn=min(mn,l[k][j]); if(mn==0)break; long double r=(k-i+1); //if(r==1)ans+=(mn*(mn+1))/2; ans+=(((mn*r)+r)/2.0)*mn; } // cout<<i<<" "<<j<<"-> "<<ans<<"\n"; } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...