Submission #339502

#TimeUsernameProblemLanguageResultExecution timeMemory
339502tengiz05Red-blue table (IZhO19_stones)C++17
0 / 100
44 ms1536 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; const int N = 1005; char ans[N][N]; void Solve(){ int n, m; cin >> n >> m; bool bad = false; if(n > m){ swap(n, m); bad = true; } int i, j; int res; if(n <= 2){ for(i=0;i<n;i++) for(j=0;j<m;j++)ans[i][j] = '-'; res = m; }else if(n <= 4){ for(i=0;i<(n+2)/2;i++) for(j=0;j<m;j++)ans[i][j] = '+'; for(i=(n+2)/2;i<n;i++) for(j=0;j<m;j++)ans[i][j] = '-'; res = m+((n-1)/2); }else { for(i=0;i<n;i++) for(j=0;j<m;j++)ans[i][j] = '-'; int have = 0; i=0; j=0; int need = (n+2)/2; int toans = 0; while(true){ if(have == need)i++,have=0, toans++; if(i == n)break; ans[i][j] = '+'; j++; if(j == m)j=0; have++; }res = toans + m; } if(bad) for(i=0;i<n;i++) for(j=0;j<m;j++) if(ans[i][j] == '+')ans[i][j] = '-'; else ans[i][j] = '-'; cout << res << '\n'; for(i=0;i<n;i++){ for(j=0;j<m;j++) cout << ans[i][j]; cout << '\n'; } } signed main(){ int t; cin >> t; while(t--)Solve(); return 0; }

Compilation message (stderr)

stones.cpp: In function 'void Solve()':
stones.cpp:43:5: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
   43 |   if(bad)
      |     ^
#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...