Submission #1131932

#TimeUsernameProblemLanguageResultExecution timeMemory
1131932JelalTkmRed-blue table (IZhO19_stones)C++20
27 / 100
15 ms1804 KiB
#include <bits/stdc++.h> #pragma GCC optimize ("O3") #pragma GCC target ("sse4") using namespace std; #define int long long int const int N = 3e5 + 10; const int md = 1e9 + 7; const int INF = 1e9; int32_t main(int32_t argc, char *argv[]) { ios::sync_with_stdio(false); cin.tie(nullptr); int T = 1; cin >> T; while (T--) { int n, m; cin >> n >> m; if (n < m) { vector<vector<int>> a(n + 1, vector<int> (m + 1)); for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) a[i][j] = 0; vector<int> st(n + 1); for (int j = 1; j <= m; j++) { int cnt = 0; for (int i = 1; i <= n && (cnt + 1) < (n - (cnt + 1)) && st[i] <= (m - st[i]); i++) { a[i][j] = 1; cnt++; st[i]++; } } int ans = 0; for (int i = 1; i <= n; i++) { int cnt = 0; for (int j = 1; j <= m; j++) { cnt += a[i][j]; } if (cnt > (m - cnt)) ans++; } for (int j = 1; j <= m; j++) { int cnt = 0; for (int i = 1; i <= n; i++) { cnt += !(a[i][j]); } if (cnt > (n - cnt)) ans++; } cout << ans << '\n'; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) cout << (a[i][j] == 1 ? '+' : '-'); cout << '\n'; } } else { vector<vector<int>> a(n + 1, vector<int> (m + 1)); for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) a[i][j] = 1; vector<int> st(m + 1); for (int i = 1; i <= n; i++) { int cnt = 0; for (int j = 1; j <= m && (cnt + 1) < (m - (cnt + 1)) && st[j] <= (n - st[j]); j++) { a[i][j] = 0; cnt++; st[j]++; } } int ans = 0; for (int i = 1; i <= n; i++) { int cnt = 0; for (int j = 1; j <= m; j++) { cnt += a[i][j]; } if (cnt > (m - cnt)) ans++; } for (int j = 1; j <= m; j++) { int cnt = 0; for (int i = 1; i <= n; i++) { cnt += !(a[i][j]); } if (cnt > (n - cnt)) ans++; } cout << ans << '\n'; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) cout << (a[i][j] == 1 ? '+' : '-'); cout << '\n'; } } } 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...