Submission #330834

#TimeUsernameProblemLanguageResultExecution timeMemory
330834vitkishloh228Red-blue table (IZhO19_stones)C++14
0 / 100
50 ms1516 KiB
#include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int tt; cin >> tt; while (tt--) { int n, m; cin >> n >> m; if (n == 1) { cout << m << '\n'; for (int i = 0; i < n; ++i) { cout << "+\n"; } continue; } if (m == 1) { cout << n << '\n'; for (int i = 0; i < m; ++i) { cout << "-"; } cout << '\n'; continue; } cout << (n + m - 2 - (1 - n % 2) - (1 - m % 2)) << '\n'; int l; if (m % 2 == 0) l = (m + 2) / 2; else l = (m + 1) / 2; int it = 0; vector<vector<int>> ans(n, vector<int>(m)); vector<int> cnt(m); for (int i = 0; i < n; ++i) { for (int j = 0; j < l; ++j) { ans[i][it] = 1; cnt[it]++; it = (it + 1) % m; } int max1 = 0; for (int j = 0; j < m; ++j) { max1 = max(max1, cnt[j]); } if (n % 2 == 0) { if (max1 >= (n - 1) / 2) break; } else if (max1 >= n / 2) break; } for (auto e : ans) { for (auto u : e) { if (u) cout << "+"; else cout << "-"; } cout << '\n'; } } }
#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...