Submission #172659

#TimeUsernameProblemLanguageResultExecution timeMemory
172659LinusTorvaldsFanRed-blue table (IZhO19_stones)C++14
15 / 100
52 ms2556 KiB
#include <bits/stdc++.h> using namespace std; char f[2000][2000]; int ver[2000]; int hor[2000]; int main() { int t; cin>>t; for(;t;t--){ int n,m; cin>>n>>m; int ans=max(n,m); if(n>m){ for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ f[i][j]='+'; hor[i]=m; } } int p=0; for(int j=0;j<m;j++){ int t=0; for(int i=0;i<n;i++){ if(t>=n/2+1)break; if(hor[p]-1>=m/2+1){ f[i][j]='-'; hor[p]--; t++; } p++; p%=n; } if(t==n/2+1)ans++; } } else{ for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ f[i][j]='-'; ver[j]=n; } } int p=0; for(int i=0;i<n;i++){ int t=0; for(int j=0;j<m;j++){ if(t>=m/2+1)break; if(ver[p]-1>=n/2+1){ f[i][p]='+'; ver[p]--; t++; } p++; p%=m; } if(t==m/2+1)ans++; } } cout<<ans<<endl; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cout<<f[i][j]; } cout<<"\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...