Submission #170763

#TimeUsernameProblemLanguageResultExecution timeMemory
170763DanGolovRed-blue table (IZhO19_stones)C++17
27 / 100
48 ms1524 KiB
#include <iostream> #include <vector> using namespace std; namespace Solution { int n, m; char field[1013][1013]; int countAns() { vector<int> rows (n, 0), columns (m, 0); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (field[i][j] == '+') { rows[i]++, columns[j]++; } else { rows[i]--, columns[j]--; } } } int res = 0; for (int i = 0; i < n; i++) { if (rows[i] > 0) ++res; } for (int i = 0; i < m; i++) { if (columns[i] < 0) ++res; } return res; } void solve() { cin >> n >> m; int ans = max(n + m / 2 - (m % 2 == 0), m + n / 2 - (n % 2 == 0)); if (ans == n + m / 2 - (m % 2 == 0)) { for (int i = 0; i < n; i++) fill(field[i], field[i] + m, '+'); for (int i = 0; i < m / 2 - (m % 2 == 0); i++) { for (int j = 0; j < n / 2 + 1; j++) { field[(i + j) % n][i] = '-'; } } } else { for (int i = 0; i < n; i++) fill(field[i], field[i] + m, '-'); for (int i = 0; i < n / 2 - (n % 2 == 0); i++) { for (int j = 0; j < m / 2 + 1; j++) { field[i][(i + j) % m] = '+'; } } } cout << countAns() << '\n'; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout << field[i][j]; } cout << '\n'; } } } int main() { int t; cin >> t; while (t--) { Solution::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...