Submission #532501

#TimeUsernameProblemLanguageResultExecution timeMemory
532501dannyboy20031204Red-blue table (IZhO19_stones)C++17
38 / 100
26 ms1740 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long void db() {cout << '\n';} template <typename T, typename ...U> void db(T a, U ...b){ cout << a << ' ', db(b...); } void solve(){ int n, m; cin >> n >> m; if (min(n, m) <= 4 or (n == m and n % 2 == 0 and n <= 10)){ cout << max(n + (m - 1) / 2, m + (n - 1) / 2) << '\n'; if (n + (m - 1) / 2 > m + (n - 1) / 2){ for (int i = 0; i < n; i++){ for (int j = 0; j < m; j++){ if (j % 2 == 0 or (m % 2 == 0 and j == m - 1)) cout << '+'; else cout << '-'; } cout << '\n'; } } else{ for (int i = 0; i < n; i++){ for (int j = 0; j < m; j++){ if (i % 2 == 0 or (n % 2 == 0 and i == n - 1)) cout << '-'; else cout << '+'; } cout << '\n'; } } return; } if (n == m and n % 2 == 0){ char ans[n][m]; for (int i = 0; i < n - 2; i++) for (int j = 0; j < m - 2; j++) ans[i][j] = (i + j) % 2 ? '+' : '-'; for (int i = 0; i < n; i++) ans[i][m - 1] = '+'; for (int i = 0; i < n; i++) ans[i][m - 2] = '+'; for (int j = 0; j < m; j++) ans[n - 1][j] = '-'; for (int j = 0; j < m; j++) ans[n - 2][j] = '-'; cout << n + m - 4 << '\n'; for (auto &i : ans){ for (char j : i) cout << j; cout << '\n'; } return; } char ans[n][m]; for (int i = 0; i < n - 1; i++) for (int j = 0; j < m - 1; j++) ans[i][j] = (i + j) % 2 ? '+' : '-'; for (int i = 0; i < n; i++) ans[i][m - 1] = '+'; for (int j = 0; j < m; j++) ans[n - 1][j] = '-'; cout << n - 1 + m - 1 << '\n'; for (auto &i : ans){ for (char j : i) cout << j; cout << '\n'; } } int main(){ ios::sync_with_stdio(0), cin.tie(0); int t; cin >> t; while (t--) 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...