제출 #936086

#제출 시각아이디문제언어결과실행 시간메모리
936086guagua0407Bomb (IZhO17_bomb)C++17
14 / 100
1095 ms43356 KiB
#pragma GCC optimize("O3") #include<bits/stdc++.h> using namespace std; #define ll long long #define f first #define s second #define all(x) x.begin(),x.end() const int mxn=2505; char c[mxn][mxn]; int pre[mxn][mxn]; bool used[mxn][mxn]; int mn[mxn]; int n,m; bool check(int x,int y){ for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ used[i][j]=false; } } for(int j=1;j<=m;j++){ mn[j]=0; } int cur=0; for(int i=y;i<=n;i++){ int prv=0; for(int j=x;j<=m;j++){ int sum=pre[i][j]-pre[i][j-x]-pre[i-y][j]+pre[i-y][j-x]; if(sum!=x*y){ continue; } for(int k=max(prv+1,j-x+1);k<=j;k++){ for(int l=i;l>=max(mn[k]+1,i-y+1);l--){ used[l][k]=true; cur++; } mn[k]=i; } prv=j; } } return cur==pre[n][m]; } int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); auto st=clock(); cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>c[i][j]; pre[i][j]=pre[i][j-1]+pre[i-1][j]-pre[i-1][j-1]+(c[i][j]=='1'); } } int ans=0; int r=n; for(int len=1;len<=m;len++){ while(r>=1 and !check(len,r)){ r--; } //cout<<r<<'\n'; ans+=r; } cout<<ans<<'\n'; }

컴파일 시 표준 에러 (stderr) 메시지

bomb.cpp: In function 'int main()':
bomb.cpp:49:10: warning: unused variable 'st' [-Wunused-variable]
   49 |     auto st=clock();
      |          ^~
#Verdict Execution timeMemoryGrader output
Fetching results...