Submission #64139246
Source Code Expand
#include <bits/stdc++.h> using namespace std; #define FOR(i, a, b) for(int i = (a); i < (b); i++) #define RFOR(i, a, b) for(int i = (a) - 1; i >= (b); i--) #define SZ(a) int(a.size()) #define ALL(a) a.begin(), a.end() #define PB push_back #define MP make_pair #define F first #define S second typedef long long LL; typedef vector<int> VI; typedef vector<LL> VL; typedef pair<int, int> PII; typedef pair<LL, LL> PLL; typedef double db; const int mod = 998244353; int add(int a, int b) { return a + b < mod ? a + b : a + b - mod; } int sub(int a, int b) { return a - b >= 0 ? a - b : a - b + mod; } int mult(int a, int b) { return (LL)a * b % mod; } int binpow(int a, LL n) { int res = 1; while (n) { if (n & 1) res = mult(res, a); a = mult(a, a); n /= 2; } return res; } template<typename T> void updMin(T& a, T b) { a = min(a, b); } template<typename T> void updMax(T& a, T b) { a = max(a, b); } const int C = 1e7; void solve() { int r, b; cin >> r >> b; if (r % 2 == 1 || (r == 0 && b % 2 == 1)) { cout << "No\n"; return; } cout << "Yes\n"; int x = C, y = C; if (r == 0) { FOR(i, 0, b / 2) { if (i > 0) { x++; y++; } cout << "B " << x << " " << y << "\n"; } x--; y++; FOR(i, 0, b / 2) { if (i > 0) { x--; y--; } cout << "B " << x << " " << y << "\n"; } assert(x == C - 1 && y == C + 1); return; } FOR(i, 0, r / 2) { if (i > 0) x++; cout << "R " << x << " " << y << "\n"; } y++; FOR(i, 0, r / 2) { if (i > 0) x--; cout << "R " << x << " " << y << "\n"; } assert(x == C && y == C + 1); if (b == 0) return; int cnt1, cnt2; if (b % 2 == 1) { x--; cnt1 = (b + 1) / 2; cnt2 = b / 2; } else { y++; cnt1 = b / 2 + 1; cnt2 = b / 2 - 1; } assert(cnt1 + cnt2 == b); FOR(i, 0, cnt1) { if (i > 0) { x--; y--; } cout << "B " << x << " " << y << "\n"; } x++; y--; FOR(i, 0, cnt2) { if (i > 0) { x++; y++; } cout << "B " << x << " " << y << "\n"; } } int main() { ios::sync_with_stdio(0); cin.tie(0); int t; cin >> t; while (t--) solve(); return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Hamiltonian Pieces |
User | mshcherba |
Language | C++ 20 (gcc 12.2) |
Score | 600 |
Code Size | 2292 Byte |
Status | AC |
Exec Time | 25 ms |
Memory | 4500 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 600 / 600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_01.txt |
All | 00_sample_01.txt, 01_handmade_01.txt, 01_handmade_02.txt, 01_handmade_03.txt, 02_small_01.txt, 03_medium_01.txt, 03_medium_02.txt, 03_medium_03.txt, 03_medium_04.txt, 03_medium_05.txt, 03_medium_06.txt, 03_medium_07.txt, 03_medium_08.txt, 03_medium_09.txt, 03_medium_10.txt, 04_large_01.txt, 04_large_02.txt, 04_large_03.txt, 04_large_04.txt, 04_large_05.txt, 05_max_01.txt, 05_max_02.txt, 05_max_03.txt, 05_max_04.txt, 05_max_05.txt, 05_max_06.txt, 05_max_07.txt, 05_max_08.txt, 05_max_09.txt, 05_max_10.txt, 06_sum_max_01.txt, 06_sum_max_02.txt, 06_sum_max_03.txt, 06_sum_max_04.txt, 06_sum_max_05.txt, 06_sum_max_06.txt, 06_sum_max_07.txt, 06_sum_max_08.txt, 06_sum_max_09.txt, 06_sum_max_10.txt, 07_R_or_B_zero_01.txt, 07_R_or_B_zero_02.txt, 07_R_or_B_zero_03.txt, 07_R_or_B_zero_04.txt, 07_R_or_B_zero_05.txt, 07_R_or_B_zero_06.txt, 07_R_or_B_zero_07.txt, 07_R_or_B_zero_08.txt, 07_R_or_B_zero_09.txt, 07_R_or_B_zero_10.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01.txt | AC | 1 ms | 3460 KiB |
01_handmade_01.txt | AC | 23 ms | 3416 KiB |
01_handmade_02.txt | AC | 25 ms | 4500 KiB |
01_handmade_03.txt | AC | 23 ms | 4420 KiB |
02_small_01.txt | AC | 12 ms | 3332 KiB |
03_medium_01.txt | AC | 14 ms | 3528 KiB |
03_medium_02.txt | AC | 10 ms | 3420 KiB |
03_medium_03.txt | AC | 12 ms | 3524 KiB |
03_medium_04.txt | AC | 14 ms | 3472 KiB |
03_medium_05.txt | AC | 15 ms | 3532 KiB |
03_medium_06.txt | AC | 11 ms | 3388 KiB |
03_medium_07.txt | AC | 11 ms | 3468 KiB |
03_medium_08.txt | AC | 11 ms | 3528 KiB |
03_medium_09.txt | AC | 12 ms | 3392 KiB |
03_medium_10.txt | AC | 13 ms | 3464 KiB |
04_large_01.txt | AC | 13 ms | 3528 KiB |
04_large_02.txt | AC | 21 ms | 3804 KiB |
04_large_03.txt | AC | 13 ms | 3464 KiB |
04_large_04.txt | AC | 1 ms | 3416 KiB |
04_large_05.txt | AC | 19 ms | 3780 KiB |
05_max_01.txt | AC | 1 ms | 3416 KiB |
05_max_02.txt | AC | 23 ms | 4424 KiB |
05_max_03.txt | AC | 24 ms | 4084 KiB |
05_max_04.txt | AC | 1 ms | 3448 KiB |
05_max_05.txt | AC | 22 ms | 4132 KiB |
05_max_06.txt | AC | 1 ms | 3520 KiB |
05_max_07.txt | AC | 1 ms | 3464 KiB |
05_max_08.txt | AC | 1 ms | 3456 KiB |
05_max_09.txt | AC | 1 ms | 3320 KiB |
05_max_10.txt | AC | 1 ms | 3460 KiB |
06_sum_max_01.txt | AC | 6 ms | 3388 KiB |
06_sum_max_02.txt | AC | 18 ms | 3584 KiB |
06_sum_max_03.txt | AC | 12 ms | 3400 KiB |
06_sum_max_04.txt | AC | 22 ms | 3968 KiB |
06_sum_max_05.txt | AC | 12 ms | 3388 KiB |
06_sum_max_06.txt | AC | 22 ms | 4064 KiB |
06_sum_max_07.txt | AC | 13 ms | 3420 KiB |
06_sum_max_08.txt | AC | 22 ms | 4024 KiB |
06_sum_max_09.txt | AC | 3 ms | 3396 KiB |
06_sum_max_10.txt | AC | 1 ms | 3464 KiB |
07_R_or_B_zero_01.txt | AC | 13 ms | 3456 KiB |
07_R_or_B_zero_02.txt | AC | 20 ms | 3792 KiB |
07_R_or_B_zero_03.txt | AC | 2 ms | 3428 KiB |
07_R_or_B_zero_04.txt | AC | 23 ms | 4284 KiB |
07_R_or_B_zero_05.txt | AC | 6 ms | 3444 KiB |
07_R_or_B_zero_06.txt | AC | 1 ms | 3460 KiB |
07_R_or_B_zero_07.txt | AC | 1 ms | 3404 KiB |
07_R_or_B_zero_08.txt | AC | 21 ms | 4208 KiB |
07_R_or_B_zero_09.txt | AC | 1 ms | 3468 KiB |
07_R_or_B_zero_10.txt | AC | 3 ms | 3324 KiB |