Submission #336629

#TimeUsernameProblemLanguageResultExecution timeMemory
336629GurbanRed-blue table (IZhO19_stones)C++17
100 / 100
69 ms2412 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; const int maxn=1e3+5; int tt; int n,m,ans,b,a,tr; char c[maxn][maxn]; priority_queue<pair<int,int>>q; int main(){ ios::sync_with_stdio(false); cin.tie(0); cin >> tt; while(tt--){ cin >> n >> m; tr = 0; if(n < m) swap(n,m),tr=1; for(int i = 1;i <= n;i++) for(int j = 1;j <= m;j++) c[i][j] = '+'; b = (m-1)/2; a = n/2+1; ans = n + ((n*b)/a); while(!q.empty()) q.pop(); for(int i = 1;i <= n;i++) if(b) q.push({b,i}); for(int i = 1;i <= m;i++){ for(int j = 1;j <= a;j++){ if(q.empty()) break; pair<int,int>x=q.top(); q.pop(); c[x.second][i] = '-'; if(x.first > 1) q.push({x.first-1,x.second}); } } cout<<ans<<'\n'; if(tr) swap(n,m); for(int i = 1;i <= n;i++){ for(int j = 1;j <= m;j++){ if(tr){ if(c[j][i]=='-') c[j][i]='+'; else c[j][i]='-'; cout<<c[j][i]; } else cout<<c[i][j]; } cout<<'\n'; } } }
#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...