Submission #532532

#TimeUsernameProblemLanguageResultExecution timeMemory
532532syl123456Red-blue table (IZhO19_stones)C++17
0 / 100
9 ms1228 KiB
#include <bits/stdc++.h> #define all(i) (i).begin(), (i).end() using namespace std; void Debug(bool _split) {} template<typename T1, typename ...T2> void Debug(bool _split, T1 i, T2 ...j) { if (_split) cerr << ", "; cerr << i; Debug(true, j...); } #define debug(args...) cerr << "Line(" << __LINE__ << ") : [" << #args << "] is [", Debug(false, args), cerr << "]" << endl template<typename T1, typename T2> ostream& operator << (ostream& i, pair<T1, T2> j) { return i << '(' << j.first << ", " << j.second << ')'; } typedef long long ll; typedef pair<int, int> pi; const int inf = 0x3f3f3f3f, lg = 20; const ll mod = 1e9 + 7, INF = 0x3f3f3f3f3f3f3f3f; signed main() { ios::sync_with_stdio(0), cin.tie(0); int t; cin >> t; while (t--) { int n, m; cin >> n >> m; pi ans(n, 0); if (m > n) ans = pi(0, m); for (int i = n; i; --i) for (int j = m; j; --j) { if (i + j <= ans.first + ans.second) break; int x = n + 2 >> 1, y = m + 2 >> 1; x = max(0, x - n + i); int tmp = 0, rem = 0; for (int _i = 0; _i < x && tmp <= i; ++_i) for (int _j = 0; _j < j && tmp <= i; ++_j) { if (!rem) ++tmp, rem = min(j, m - y); --rem; } if (tmp <= i) ans = pi(i, j); } cout << ans.first + ans.second << '\n'; int x = n + 2 >> 1, y = m + 2 >> 1; x = max(0, x - n + ans.first); vector<string> s(ans.first, string(m, '+')); int tmp = -1, rem = 0; for (int i = 0; i < x; ++i) for (int j = m - ans.second; j < m; ++j) { if (!rem) ++tmp, rem = min(ans.second, m - y); s[rem][j] = '-', --rem; } for (auto i : s) cout << i << '\n'; for (int i = ans.first; i < n; ++i) cout << string(m, '-') << '\n'; } }

Compilation message (stderr)

stones.cpp: In function 'int main()':
stones.cpp:37:27: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   37 |                 int x = n + 2 >> 1, y = m + 2 >> 1;
      |                         ~~^~~
stones.cpp:37:43: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   37 |                 int x = n + 2 >> 1, y = m + 2 >> 1;
      |                                         ~~^~~
stones.cpp:50:19: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   50 |         int x = n + 2 >> 1, y = m + 2 >> 1;
      |                 ~~^~~
stones.cpp:50:35: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   50 |         int x = n + 2 >> 1, y = m + 2 >> 1;
      |                                 ~~^~~
#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...