제출 #855868

#제출 시각아이디문제언어결과실행 시간메모리
855868Halym2007Red-blue table (IZhO19_stones)C++11
0 / 100
9 ms604 KiB
#include <bits/stdc++.h> using namespace std; vector <pair <int, int>> v; int git, n, m, jogap; char vis[5][5], jog[5][5]; void solve (int x) { if (x == git + 1) { int ans = 0; for (int i = 1; i <= n; ++i) { int r = 0; for (int j = 1; j <= m; ++j) { if (vis[i][j] == '+') { r++; } else r--; } if (r > 0) ans++; } for (int i = 1; i <= m; ++i) { int b = 0; for (int j = 1; j <= n; ++j) { if (vis[j][i] == '-') b++; else b--; } if (b > 0) ans++; } if (jogap < ans) { jogap = ans; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { jog[i][j] = vis[i][j]; } } } return; } for (int i = 0; i < 2; ++i) { char c; if (!i) c = '-'; else c = '+'; vis[v[x].first][v[x].second] = c; solve (x + 1); } } int main () { int t; cin >> t; while ( t-- ) { cin >> n >> m; git = n * m; v.clear(); v.push_back ({0, 0}); for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { v.push_back ({i, j}); } } solve (1); cout << jogap << "\n"; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { cout << jog[i][j]; } cout << "\n"; } cout << endl; } }
#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...