Please sign in first.
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 |