Submission #341372

#TimeUsernameProblemLanguageResultExecution timeMemory
341372ogibogi2004Red-blue table (IZhO19_stones)C++14
100 / 100
93 ms2304 KiB
#include<bits/stdc++.h> using namespace std; const int MAXN=1024; int cnt[MAXN]; char table[MAXN][MAXN]; void solve() { int n,m,n1,m1; cin>>n>>m; n1=n/2+1;m1=m/2+1; int ans1=n+(n*m-n*m1)/n1; int ans2=m+(n*m-m*n1)/m1; cout<<max(ans1,ans2)<<endl; if(ans1>ans2) { for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { table[i][j]='+'; } cnt[i]=0; } for(int i=1;i<=ans1-n;i++) { vector<pair<int,int> >cnts; for(int j=1;j<=n;j++) { cnts.push_back({cnt[j],j}); } sort(cnts.begin(),cnts.end()); for(int j=0;j<n1;j++) { cnt[cnts[j].second]++; table[cnts[j].second][i]='-'; } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cout<<table[i][j]; } cout<<'\n'; } } else { for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { table[i][j]='-'; cnt[j]=0; } } for(int i=1;i<=ans2-m;i++) { vector<pair<int,int> >cnts; for(int j=1;j<=m;j++) { cnts.push_back({cnt[j],j}); } sort(cnts.begin(),cnts.end()); for(int j=0;j<m1;j++) { cnt[cnts[j].second]++; table[i][cnts[j].second]='+'; } } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { cout<<table[i][j]; } cout<<'\n'; } } } int main() { int t; cin>>t; while(t--)solve(); 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...