Submission #556040

#TimeUsernameProblemLanguageResultExecution timeMemory
556040HeatDroppaRed-blue table (IZhO19_stones)C++14
100 / 100
9 ms2260 KiB
#include <bits/stdc++.h> using namespace std; typedef pair<int,int> pii; int tst,n,m; int main() { ios_base::sync_with_stdio(false); cin.tie(0),cout.tie(0); cin>>tst; while(tst--) { cin>>n>>m; pii ans(n,0); if(m>n) ans=pii(0,m); for(int i=n;i>=1;--i) for(int j=m;j>=1;--j) { if(i+j<=ans.first+ans.second) break; int x=n/2+1,y=m/2+1; x=max(0,x-n+i); if(x==0) { ans=pii(i,j); continue; } if(m==y) continue; int tmp=0,rem=0; for(int _i=0;_i<x&&tmp<=i;++_i) for(int _j=0;_j<j&&tmp<=i;++_j) { if(rem==0) ++tmp, rem=min(j,m-y); --rem; } if(tmp<=i) ans=pii(i,j); } cout<<ans.first+ans.second<< '\n'; int x=n/2+1,y=m/2+1; x=max(0,x-n+ans.first); vector<string> s(ans.first,string(m,'+')); int tmp=-1,rem=0; for(int i = 0; i < x; ++i) for(int j=m-ans.second;j<m;++j) { if(rem==0) ++tmp, rem=min(ans.second,m-y); s[tmp][j]='-'; --rem; } for(auto i:s) cout<<i<<'\n'; for(int i=ans.first;i<n;++i) cout<<string(m,'-')<<'\n'; } return 0; }
#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...