Submission #487030

#TimeUsernameProblemLanguageResultExecution timeMemory
487030SirCovidThe19thRed-blue table (IZhO19_stones)C++17
100 / 100
52 ms5144 KiB
#include <bits/stdc++.h> using namespace std; void solve(){ int n, m, flip = 0; cin >> n >> m; if (n < m) swap(n, m), flip = 1; int ans[n + 1][m + 1] = {}, rowFill[n + 1] = {}, tot = n + m; for (int j = 1, i = 1; j <= m; j++){ int cnt = 0; while (cnt < n - (n / 2 + 1)){ ans[i][j] = 1; rowFill[i]++; i++; cnt++; if (i > n) i = 1; } } for (int j = 1; j <= m; j++){ int badCol = 0; for (int i = 1; i <= n; i++) if (rowFill[i] < m / 2 + 1 and !ans[i][j]){ ans[i][j] = 1; rowFill[i]++; badCol = 1; } tot -= badCol; } cout<<tot<<endl; if (flip) swap(n, m); for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++){ int cur = !flip ? ans[i][j] : !ans[j][i]; cout<<(cur ? "+" : "-")<<(j == m ? "\n" : ""); } } int main(){ int tc; cin >> tc; while (tc--) solve(); }
#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...