Submission #1138672

#TimeUsernameProblemLanguageResultExecution timeMemory
1138672AHOKARed-blue table (IZhO19_stones)C++20
100 / 100
48 ms6216 KiB
#pragma GCC optimize("O3") #include <bits/stdc++.h> using namespace std; #define threesum cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false) #define all(a) a.begin(), a.end() #define F first #define S second #define int long long #define double long double #define pii pair<int, int> #define ppp pair<int, pii> #define dout cout << fixed << setprecision(15) #define mid ((l + r) / 2) #define lc (2 * id) #define rc (lc + 1) const int maxn = 2e5 + 10, maxm = 5e3 + 10, oo = 1e18 + 10, lg = 18, sq = 350, mod = 998244353; int n, m; bool ans[maxm][maxm]; signed main() { threesum; int t; cin >> t; while(t--){ cin >> n >> m; for (int i = 1; i <= n;i++) for (int j = 1; j <= m;j++) ans[i][j] = 0; if(n >= m){ int k = n + ((n * ((m + 1) / 2 - 1)) / ((n / 2) + 1)); cout << k << "\n"; set<pii> s; for (int i = 1; i <= n;i++) s.insert({0, i}); for (int j = 1; j <= k - n;j++){ int x = n / 2 + 1; while(x--){ auto [cnt, i] = *s.begin(); s.erase({cnt, i}); ans[i][j] = 1; s.insert({cnt + 1, i}); } } for (int i = 1; i <= n;i++){ for (int j = 1; j <= m;j++) cout << (ans[i][j] ? '-' : '+'); cout << "\n"; } } else{ int k = m + ((m * ((n + 1) / 2 - 1)) / ((m / 2) + 1)); cout << k << "\n"; set<pii> s; for (int i = 1; i <= m;i++) s.insert({0, i}); for (int i = 1; i <= k - m;i++){ int x = m / 2 + 1; while(x--){ auto [cnt, j] = *s.begin(); s.erase({cnt, j}); ans[i][j] = 1; s.insert({cnt + 1, j}); } } for (int i = 1; i <= n;i++){ for (int j = 1; j <= m;j++) cout << (ans[i][j] ? '+' : '-'); cout << "\n"; } } } } /* ++- ++- +++ ++-+- +++-- +++-- ++--+ ++-++ n*n = n + */
#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...