intmain(){ int t; cin >> t; while (t--) { int n, m; cin >> n >> m; if (n * m & 1) { for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) cout << "BW"[(i + j) & 1]; cout << endl; } } else { for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) cout << "WB"[(i + j) & 1 | (i==0&&j==0)]; cout << endl; } } } return0; }
intmain(){ int n, f = 0; cin >> n; map<ll, ll> mp; ll pre = 0, ans = 0, l = 1; mp[0] = 0; for (int i = 1, t; i <= n; ++i) { cin >> t; pre += t; if (mp.count(pre)) { if (mp[pre] + 1 >= l) { if (f) ans -= min(mp[pre] + 1, l) * (n - i + 1); l = mp[pre] + 1; ans += l * (n - i + 1); f = 1; } } mp[pre] = i; } ans = ll(n + 1) * n / 2 - ans; cout << ans << endl; return0; }
#include<bits/stdc++.h> usingnamespacestd; constint N = 3e6 + 5;
vector<int> ans[N];
intmain(){ int n, k; cin >> n >> k; vector<char> c(n); for (char &t : c) cin >> t; int cnt = 0, mx = 0; while (1) { int f = 0; for (int i = 0; i < n; ++i) { if (c[i] == 'R' && c[i + 1] == 'L') { ans[cnt].emplace_back(i + 1); swap(c[i], c[i + 1]); ++i; ++mx; f = 1; } } if (!f) break; else ++cnt; }
if (mx < k || k < cnt) cout << -1 << endl; else { --cnt; for (int i = k - 1; i > 0; --i) { if (ans[cnt].empty()) --cnt; if (i == cnt) break; ans[i] = vector<int>{ans[cnt].back()}; ans[cnt].pop_back(); } for (int i = 0; i < k; ++i) { cout << ans[i].size() << ' '; for (int &j : ans[i]) cout << j << ' '; cout << endl; } } return0; }