# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
670016 | 2022-12-07T18:52:55 Z | YENGOYAN | Red-blue table (IZhO19_stones) | C++17 | 42 ms | 1316 KB |
#define _USE_MATH_DEFINES #include <climits> #include <bitset> #include <deque> #include <queue> #include <stack> #include <map> #include<iostream> #include<vector> #include<cmath> #include<iomanip> #include<algorithm> #include<set> #include<string> using namespace std; void anotherSol(int n, int m) { if (n + (m + 1) / 2 - 1 > m + (n + 1) / 2 - 1) { cout << n + (m + 1) / 2 - 1 << endl; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (j <= m / 2 + 1) cout << '+'; else cout << '-'; } cout << "\n"; } } else { cout << m + (n + 1) / 2 - 1 << endl; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (i <= n / 2 + 1) cout << '-'; else cout << '+'; } cout << "\n"; } } } void solve() { int n, m; cin >> n >> m; int mn = m + n; if (n % 2 == m % 2) { if (n % 2 == 0) { if (max(n + (m + 1) / 2 - 1, m + (n + 1) / 2 - 1) > n + m - 4) anotherSol(n, m); else { cout << n + m - 4 << endl; for (int i = 0; i < m; i++) cout << '-'; cout << endl; for (int i = 0; i < m; i++) cout << '-'; cout << endl; for (int i = 2; i < n; i++) { if (i % 2) { for (int j = 0; j < m / 2 + 1; j++) cout << '+'; for (int j = m / 2 + 1; j < m; j++) cout << '-'; } else { for (int j = m / 2 + 1; j < m; j++) cout << '-'; for (int j = 0; j < m / 2 + 1; j++) cout << '+'; } cout << endl; } } } else { if (max(n + (m + 1) / 2 - 1, m + (n + 1) / 2 - 1) > n + m - 3) anotherSol(n, m); else { cout << n + m - 3 << endl; for (int i = 0; i < m; i++) cout << '-'; cout << endl; for (int i = 1; i < n; i++) { if (i % 2) { for (int j = 0; j < m / 2 + 1; j++) cout << '+'; for (int j = m / 2 + 1; j < m; j++) cout << '-'; } else { for (int j = m / 2 + 1; j < m; j++) cout << '-'; for (int j = 0; j < m / 2 + 1; j++) cout << '+'; } cout << endl; } } } } else { if (max(n + (m + 1) / 2 - 1, m + (n + 1) / 2 - 1) > n + m - 3) anotherSol(n, m); else { cout << n + m - 3 << endl; for (int i = 0; i < n - n % 2; i++) { if (i % 2) { for (int j = 0; j < m / 2 + 1; j++) cout << '+'; for (int j = m / 2 + 1; j < m; j++) cout << '-'; } else { for (int j = m / 2 + 1; j < m; j++) cout << '-'; for (int j = 0; j < m / 2 + 1; j++) cout << '+'; } if (m % 2) cout << '-'; cout << endl; } if (n % 2) { for (int i = 0; i < m; i++) cout << '+'; cout << endl; } } } // // ++ // ++ // ++ // // // // ----- // --+++ // +++-- // ----- // // ------- // ---++++ // ++++--- // ---++++ // ++++--- // ------- // // -------- // +++++--- // ---+++++ // +++++--- // ---+++++ // -------- // } int main() { ios_base::sync_with_stdio(0); cin.tie(NULL); int t; cin >> t; while (t--) solve(); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 1 ms | 384 KB | Output is correct |
4 | Incorrect | 4 ms | 340 KB | Wrong answer |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 42 ms | 1316 KB | in the table A+B is not equal to 115 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 31 ms | 1248 KB | in the table A+B is not equal to 35 |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 212 KB | Output is correct |
2 | Correct | 0 ms | 212 KB | Output is correct |
3 | Correct | 1 ms | 384 KB | Output is correct |
4 | Incorrect | 4 ms | 340 KB | Wrong answer |
5 | Halted | 0 ms | 0 KB | - |