Submission #382067

#TimeUsernameProblemLanguageResultExecution timeMemory
382067vanicRed-blue table (IZhO19_stones)C++14
38 / 100
34 ms1388 KiB
#include <iostream> #include <cmath> #include <algorithm> using namespace std; const int maxn=1005; void solve(){ int n, m; cin >> n >> m; int gran; if(n>m){ gran=(m-1)/2; if(m>3 && n&1){ cout << n+gran*2-1 << '\n'; for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ if(j<gran){ if(i<(n+1)/2){ cout << '-'; } else{ cout << '+'; } } else if(m-j>gran){ cout << '+'; } else{ if(i<n/2){ cout << '+'; } else{ cout << '-'; } } } cout << '\n'; } } else if(m>4 && !(n&1)){ cout << n+gran*2-2 << '\n'; for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ if(j<gran){ if(i<=n/2){ cout << '-'; } else{ cout << '+'; } } else if(m-j>gran){ cout << '+'; } else{ if(i<(n-1)/2){ cout << '+'; } else{ cout << '-'; } } } cout << '\n'; } } else{ cout << n+gran << '\n'; for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ if(j<gran){ cout << '-'; } else{ cout << '+'; } } cout << '\n'; } } } else{ gran=(n-1)/2; if(n>3 && m&1){ cout << m+gran*2-1 << '\n'; for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ if(i<gran){ if(j<(m+1)/2){ cout << '+'; } else{ cout << '-'; } } else if(n-i>gran){ cout << '-'; } else{ if(j<m/2){ cout << '-'; } else{ cout << '+'; } } } cout << '\n'; } } else if(n>4 && !(m&1)){ cout << m+gran*2-2 << '\n'; for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ if(i<gran){ if(j<=m/2){ cout << '+'; } else{ cout << '-'; } } else if(n-i>gran){ cout << '-'; } else{ if(j<(m-1)/2){ cout << '-'; } else{ cout << '+'; } } } cout << '\n'; } } else{ cout << m+gran << '\n'; for(int i=0; i<n; i++){ for(int j=0; j<m; j++){ if(i<gran){ cout << '+'; } else{ cout << '-'; } } cout << '\n'; } } } } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); 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...