| Task: | Astralis session I |
| Sender: | aalto26bw_009 |
| Submission time: | 2026-09-09 17:08:12 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | details |
| #2 | ACCEPTED | 0.01 s | details |
| #3 | ACCEPTED | 0.01 s | details |
| #4 | ACCEPTED | 0.01 s | details |
| #5 | ACCEPTED | 0.01 s | details |
| #6 | ACCEPTED | 0.01 s | details |
| #7 | ACCEPTED | 0.01 s | details |
| #8 | ACCEPTED | 0.01 s | details |
| #9 | ACCEPTED | 0.01 s | details |
| #10 | ACCEPTED | 0.01 s | details |
| #11 | ACCEPTED | 0.01 s | details |
| #12 | ACCEPTED | 0.01 s | details |
| #13 | ACCEPTED | 0.01 s | details |
| #14 | ACCEPTED | 0.01 s | details |
| #15 | ACCEPTED | 0.01 s | details |
| #16 | ACCEPTED | 0.01 s | details |
| #17 | ACCEPTED | 0.01 s | details |
| #18 | ACCEPTED | 0.01 s | details |
| #19 | ACCEPTED | 0.01 s | details |
| #20 | ACCEPTED | 0.01 s | details |
| #21 | ACCEPTED | 0.01 s | details |
| #22 | ACCEPTED | 0.01 s | details |
| #23 | ACCEPTED | 0.01 s | details |
| #24 | ACCEPTED | 0.01 s | details |
| #25 | ACCEPTED | 0.01 s | details |
| #26 | ACCEPTED | 0.01 s | details |
| #27 | ACCEPTED | 0.01 s | details |
| #28 | ACCEPTED | 0.01 s | details |
| #29 | ACCEPTED | 0.01 s | details |
| #30 | ACCEPTED | 0.01 s | details |
| #31 | ACCEPTED | 0.01 s | details |
| #32 | ACCEPTED | 0.01 s | details |
| #33 | ACCEPTED | 0.01 s | details |
| #34 | ACCEPTED | 0.01 s | details |
| #35 | ACCEPTED | 0.01 s | details |
| #36 | ACCEPTED | 0.01 s | details |
| #37 | ACCEPTED | 0.01 s | details |
| #38 | ACCEPTED | 0.01 s | details |
| #39 | ACCEPTED | 0.01 s | details |
| #40 | ACCEPTED | 0.01 s | details |
| #41 | ACCEPTED | 0.01 s | details |
| #42 | ACCEPTED | 0.01 s | details |
| #43 | ACCEPTED | 0.01 s | details |
| #44 | ACCEPTED | 0.01 s | details |
| #45 | ACCEPTED | 0.01 s | details |
| #46 | ACCEPTED | 0.01 s | details |
| #47 | ACCEPTED | 0.01 s | details |
| #48 | ACCEPTED | 0.01 s | details |
| #49 | ACCEPTED | 0.01 s | details |
| #50 | ACCEPTED | 0.01 s | details |
| #51 | ACCEPTED | 0.01 s | details |
| #52 | ACCEPTED | 0.06 s | details |
| #53 | ACCEPTED | 0.06 s | details |
| #54 | ACCEPTED | 0.06 s | details |
| #55 | ACCEPTED | 0.06 s | details |
| #56 | ACCEPTED | 0.06 s | details |
| #57 | ACCEPTED | 0.06 s | details |
| #58 | ACCEPTED | 0.06 s | details |
| #59 | ACCEPTED | 0.06 s | details |
| #60 | ACCEPTED | 0.06 s | details |
| #61 | ACCEPTED | 0.06 s | details |
Code
// #ifdef ONLINE_JUDGE
// #pragma GCC optimize("O3,unroll-loops")
// #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
// #endif
#include "bits/stdc++.h"
#define fast ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fill(arr,val) memset(arr,val,sizeof(arr))
#define FOR(i, a, b) for(__typeof(b) i = a, _b = b; i <= _b; ++i)
#define FORD(i, a, b) for(__typeof(a) i = a, _b = b; i >= _b; --i)
#define ALL(a) (a).begin(), (a).end()
#define YES cout << "YES\n"
#define NO cout << "NO\n"
#define ll long long
#define fi first
#define se second
#define pb push_back
#define pf push_front
#define ii pair<int,int>
#define iii pair<int,pair<int,int>>
#define dq deque<int>
#define nend '\n'
using namespace std;
const ll inf = 1e18;
const int dx[] = {1,0,-1,0};
const int dy[] = {0,1,0,-1};
const int MOD = 1e9 + 7;
const ll hashi = 2e9 + 11;
const int N=1e5+3;
inline ll add(ll a, ll b) { return (a + b) % MOD; }
inline ll sub(ll a, ll b) { return ((a - b) % MOD + MOD) % MOD; }
inline ll mul(ll a, ll b) { return (a * b) % MOD; }
inline ll binpow(ll a, ll b) {
ll res = 1;
a %= MOD;
while (b > 0) {
if (b & 1) res = res * a % MOD;
a = a * a % MOD;
b >>= 1;
}
return res;
}
inline ll modInverse(ll n) {
return binpow(n, MOD - 2);
}
inline ll modDivide(ll a, ll b) {
return (a % MOD * modInverse(b)) % MOD;
}
ll extended_gcd(ll a, ll b, ll& x, ll& y) {
if (b == 0) {
x = 1; y = 0;
return a;
}
ll x1, y1;
ll d = extended_gcd(b, a % b, x1, y1);
x = y1;
y = x1 - y1 * (a / b);
return d;
}
void init_code() {
fast;
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
}
int n;
int delx=-1,dely=-1;
vector<int>g[N];
int sz[N];
char ans[N];
void dfs(int u, int p) {
sz[u] = 1;
for (int v : g[u]) {
if (v == p) continue;
dfs(v, u);
sz[u] += sz[v];
if (sz[v] == n / 2) {
delx=u;
dely=v;
}
}
}
void dfs2(int u, int p) {
ans[u] = 'M';
for (int v : g[u]) {
if (v == p) continue;
dfs2(v, u);
}
}
void solve() {
cin>>n;
FOR(i,1,n-1) {
sz[i]=1;
int x,y;
cin >> x >> y;
g[x].pb(y);
g[y].pb(x);
}
dfs(1,0);
if (delx!=-1 and dely!=-1) {
cout << "Yes" << nend;
FOR(i,1,n) ans[i] = 'U';
dfs2(dely, delx);
FOR(i,1,n) cout << ans[i];
cout << nend;
} else {
cout << "No" << nend;
}
}
int main() {
init_code();
int t = 1;
// cin >> t;
while (t--) {
solve();
}
// #ifndef ONLINE_JUDGE
// cerr << "\nTime elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " seconds.\n";
// #endif
return 0;
}Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 2 1 2 |
| correct output |
|---|
| Yes MU |
| user output |
|---|
| Yes UM |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 6 1 3 2 3 2 6 4 6 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 6 1 2 2 3 3 6 2 4 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 6 1 6 1 4 2 4 2 3 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 6 2 4 1 4 2 6 1 3 ... |
| correct output |
|---|
| Yes MUMUMU |
| user output |
|---|
| Yes UMUMUM |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 8 1 8 5 8 3 5 3 6 ... |
| correct output |
|---|
| Yes MUMUMUUM |
| user output |
|---|
| Yes UMUMUMMU |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 8 1 4 1 6 3 6 1 5 ... |
| correct output |
|---|
| Yes MUUMMUMU |
| user output |
|---|
| Yes UMMUUMUM |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 8 1 7 1 3 1 8 2 8 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 8 2 3 3 8 7 8 5 8 ... |
| correct output |
|---|
| Yes MMUMUMUU |
| user output |
|---|
| Yes UUMUMUMM |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 10 4 8 4 7 1 7 3 4 ... |
| correct output |
|---|
| Yes MUMMMUMUUU |
| user output |
|---|
| Yes UMUUUMUMMM |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 10 3 4 4 5 4 8 4 10 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 10 1 3 2 3 2 6 6 10 ... |
| correct output |
|---|
| Yes MMMUUMUMUU |
| user output |
|---|
| Yes UUUMMUMUMM |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 10 1 10 1 3 6 10 8 10 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 10 1 6 1 4 2 4 2 9 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 12 4 10 4 11 9 11 6 11 ... |
| correct output |
|---|
| Yes UUUMUMMUMUMM |
| user output |
|---|
| Yes UUUMUMMUMUMM |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 12 1 2 1 8 5 8 3 8 ... |
| correct output |
|---|
| Yes MUMMMUUMUUUM |
| user output |
|---|
| Yes UMUUUMMUMMMU |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 14 9 12 6 9 3 6 3 11 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 14 13 14 7 13 3 7 7 10 ... |
| correct output |
|---|
| Yes UMMMMUMUUMUUMU |
| user output |
|---|
| Yes UMMMMUMUUMUUMU |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 14 1 3 3 8 3 7 8 9 ... |
| correct output |
|---|
| Yes MUUUMMUUUMMMMU |
| user output |
|---|
| Yes UMMMUUMMMUUUUM |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 16 4 12 1 4 12 16 11 12 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 21
Verdict: ACCEPTED
| input |
|---|
| 18 12 13 13 17 8 13 12 15 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 22
Verdict: ACCEPTED
| input |
|---|
| 100 24 28 28 65 28 58 54 65 ... |
| correct output |
|---|
| Yes MMUUMUMMUMUMUUMUUMMUUUMMMUUUUM... |
| user output |
|---|
| Yes UUMMUMUUMUMUMMUMMUUMMMUUUMMMMU... |
Test 23
Verdict: ACCEPTED
| input |
|---|
| 100 57 98 24 57 24 34 25 34 ... |
| correct output |
|---|
| Yes MUUMUMUUUMMUMMUMUMMMMMUUUMUUMM... |
| user output |
|---|
| Yes UMMUMUMMMUUMUUMUMUUUUUMMMUMMUU... |
Test 24
Verdict: ACCEPTED
| input |
|---|
| 100 6 41 6 20 6 18 6 88 ... |
| correct output |
|---|
| Yes MMMMUMMMUMUUMMUUUMMMUUUUUMUUUU... |
| user output |
|---|
| Yes UUUUMUUUMUMMUUMMMUUUMMMMMUMMMM... |
Test 25
Verdict: ACCEPTED
| input |
|---|
| 100 24 100 92 100 62 100 88 100 ... |
| correct output |
|---|
| Yes MUUMMUUMMUMUMUMUUUUUUMMMUMUMUM... |
| user output |
|---|
| Yes UMMUUMMUUMUMUMUMMMMMMUUUMUMUMU... |
Test 26
Verdict: ACCEPTED
| input |
|---|
| 100 65 83 68 83 65 87 21 65 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 27
Verdict: ACCEPTED
| input |
|---|
| 100 12 87 12 56 41 56 11 41 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 28
Verdict: ACCEPTED
| input |
|---|
| 100 13 29 13 38 13 34 10 13 ... |
| correct output |
|---|
| Yes MMMMUUMUMMUUMMUUMMMUMMUUMMUUUU... |
| user output |
|---|
| Yes UUUUMMUMUUMMUUMMUUUMUUMMUUMMMM... |
Test 29
Verdict: ACCEPTED
| input |
|---|
| 100 77 94 52 77 53 77 53 56 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 30
Verdict: ACCEPTED
| input |
|---|
| 100 56 59 56 76 17 76 17 75 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 31
Verdict: ACCEPTED
| input |
|---|
| 100 19 70 70 86 27 86 27 31 ... |
| correct output |
|---|
| Yes MMMMUMMUMMUUMMUMUUUMMMUMUMUUMU... |
| user output |
|---|
| Yes UUUUMUUMUUMMUUMUMMMUUUMUMUMMUM... |
Test 32
Verdict: ACCEPTED
| input |
|---|
| 200 28 148 28 122 28 137 122 178 ... |
| correct output |
|---|
| Yes UUMUMMMUUMMUMMMUMMUUMUMUMUMMMU... |
| user output |
|---|
| Yes UUMUMMMUUMMUMMMUMMUUMUMUMUMMMU... |
Test 33
Verdict: ACCEPTED
| input |
|---|
| 200 57 98 57 153 34 153 98 109 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 34
Verdict: ACCEPTED
| input |
|---|
| 200 6 177 6 20 6 158 88 158 ... |
| correct output |
|---|
| Yes MUUMUMMMUMUUMUUUUUUMUMMMMUUMMU... |
| user output |
|---|
| Yes UMMUMUUUMUMMUMMMMMMUMUUUUMMUUM... |
Test 35
Verdict: ACCEPTED
| input |
|---|
| 200 142 178 119 142 142 155 119 140 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 36
Verdict: ACCEPTED
| input |
|---|
| 200 83 150 68 83 68 158 135 158 ... |
| correct output |
|---|
| Yes MMMUUUUUUMUUUMUMUUMMMUMUUUMMUM... |
| user output |
|---|
| Yes UUUMMMMMMUMMMUMUMMUUUMUMMMUUMU... |
Test 37
Verdict: ACCEPTED
| input |
|---|
| 200 20 177 87 177 121 177 137 177 ... |
| correct output |
|---|
| Yes MMUMUMMMUUUMUMUMMMUMUMUUUUUUMM... |
| user output |
|---|
| Yes UUMUMUUUMMMUMUMUUUMUMUMMMMMMUU... |
Test 38
Verdict: ACCEPTED
| input |
|---|
| 200 13 139 13 38 13 34 10 38 ... |
| correct output |
|---|
| Yes MUMMUUMUUMUUMMUMMMMUMMUMUUUMMU... |
| user output |
|---|
| Yes UMUUMMUMMUMMUUMUUUUMUUMUMMMUUM... |
Test 39
Verdict: ACCEPTED
| input |
|---|
| 200 84 198 77 198 52 198 53 77 ... |
| correct output |
|---|
| Yes MMMUMUMMMUUUUMUUUMMMMMUMUMUUUU... |
| user output |
|---|
| Yes UUUMUMUUUMMMMUMMMUUUUUMUMUMMMM... |
Test 40
Verdict: ACCEPTED
| input |
|---|
| 200 56 112 76 112 56 182 56 114 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 41
Verdict: ACCEPTED
| input |
|---|
| 200 19 114 19 70 70 86 19 27 ... |
| correct output |
|---|
| Yes MMMUMUUUUUMUMMMMMMMUUMMUMMMMUM... |
| user output |
|---|
| Yes UUUMUMMMMMUMUUUUUUUMMUUMUUUUMU... |
Test 42
Verdict: ACCEPTED
| input |
|---|
| 1000 811 883 397 883 137 397 546 883 ... |
| correct output |
|---|
| Yes MMMMMUUMUMUUUUUUMUMUMMMMUMMUMM... |
| user output |
|---|
| Yes UUUUUMMUMUMMMMMMUMUMUUUUMUUMUU... |
Test 43
Verdict: ACCEPTED
| input |
|---|
| 1000 393 736 393 398 398 407 351 393 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 44
Verdict: ACCEPTED
| input |
|---|
| 1000 507 955 340 955 507 813 418 955 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 45
Verdict: ACCEPTED
| input |
|---|
| 1000 230 974 230 440 440 752 752 977 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 46
Verdict: ACCEPTED
| input |
|---|
| 1000 406 944 778 944 68 944 545 778 ... |
| correct output |
|---|
| Yes UMUMMUMUUMUUMUUMUMMUUMUUMUUUUM... |
| user output |
|---|
| Yes UMUMMUMUUMUUMUUMUMMUUMUUMUUUUM... |
Test 47
Verdict: ACCEPTED
| input |
|---|
| 1000 771 921 368 921 121 921 121 810 ... |
| correct output |
|---|
| Yes UMMUUUUUMUMMUMUMUUUUMMMMUMUUMM... |
| user output |
|---|
| Yes UMMUUUUUMUMMUMUMUUUUMMMMUMUUMM... |
Test 48
Verdict: ACCEPTED
| input |
|---|
| 1000 290 518 518 738 518 554 290 997 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 49
Verdict: ACCEPTED
| input |
|---|
| 1000 370 791 390 791 390 835 585 835 ... |
| correct output |
|---|
| Yes MMUUUUUMMMUMMUMMMMMMUUMMUMMMMU... |
| user output |
|---|
| Yes UUMMMMMUUUMUUMUUUUUUMMUUMUUUUM... |
Test 50
Verdict: ACCEPTED
| input |
|---|
| 1000 111 804 778 804 520 804 520 829 ... |
| correct output |
|---|
| Yes MMMUMUUUUUMMMUMMMMMUUMMUMMUUUU... |
| user output |
|---|
| Yes UUUMUMMMMMUUUMUUUUUMMUUMUUMMMM... |
Test 51
Verdict: ACCEPTED
| input |
|---|
| 1000 627 823 399 627 27 399 27 945 ... |
| correct output |
|---|
| Yes MMUMMMMUUMMUUMUUUUUMUMMUMMMMMU... |
| user output |
|---|
| Yes UUMUUUUMMUUMMUMMMMMUMUUMUUUUUM... |
Test 52
Verdict: ACCEPTED
| input |
|---|
| 100000 26991 68205 21905 68205 3029 26991 21905 29288 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
Test 53
Verdict: ACCEPTED
| input |
|---|
| 100000 41845 94618 94618 96640 65841 94618 9894 96640 ... |
| correct output |
|---|
| Yes UMUUUMMUUUMMUMMUMUMMMUMMMUMUMU... |
| user output |
|---|
| Yes UMUUUMMUUUMMUMMUMUMMMUMMMUMUMU... |
Test 54
Verdict: ACCEPTED
| input |
|---|
| 100000 11081 29940 11081 90273 11081 56653 56653 73314 ... |
| correct output |
|---|
| Yes UMMUUMMMUUMMMMMUUMMUUUMUMMMUUU... |
| user output |
|---|
| Yes UMMUUMMMUUMMMMMUUMMUUUMUMMMUUU... |
Test 55
Verdict: ACCEPTED
| input |
|---|
| 100000 27549 31873 27549 48777 48777 71940 48777 59266 ... |
| correct output |
|---|
| Yes MMMMUUMUUMUMUMMUUUMMUMMMUMUUUM... |
| user output |
|---|
| Yes UUUUMMUMMUMUMUUMMMUUMUUUMUMMMU... |
Test 56
Verdict: ACCEPTED
| input |
|---|
| 100000 2460 57807 2460 59927 56550 59927 35046 56550 ... |
| correct output |
|---|
| Yes MMMUUMMUMMUUUMMUMUMMMUMUUMUMUM... |
| user output |
|---|
| Yes UUUMMUUMUUMMMUUMUMUUUMUMMUMUMU... |
Test 57
Verdict: ACCEPTED
| input |
|---|
| 100000 13089 77222 77222 89616 36711 89616 27645 77222 ... |
| correct output |
|---|
| Yes UMUUUMMMUUUUMMUMMMUUMMUUMUMUMU... |
| user output |
|---|
| Yes UMUUUMMMUUUUMMUMMMUUMMUUMUMUMU... |
Test 58
Verdict: ACCEPTED
| input |
|---|
| 100000 35805 70440 70440 82302 64483 82302 64483 96767 ... |
| correct output |
|---|
| Yes MMMUUMMMUUUMMMUUMUUMUMMUUUMUUM... |
| user output |
|---|
| Yes UUUMMUUUMMMUUUMMUMMUMUUMMMUMMU... |
Test 59
Verdict: ACCEPTED
| input |
|---|
| 100000 16206 68738 37820 68738 55519 68738 55519 77758 ... |
| correct output |
|---|
| Yes MMUUUMUUMUUMUUMUMMMMMUMUUUUUUU... |
| user output |
|---|
| Yes UUMMMUMMUMMUMMUMUUUUUMUMMMMMMM... |
Test 60
Verdict: ACCEPTED
| input |
|---|
| 100000 47137 86808 47137 80136 47137 73346 73346 78144 ... |
| correct output |
|---|
| Yes UUMUMMUUUUMMMMMMMMUUMMMMMMUUMU... |
| user output |
|---|
| Yes UUMUMMUUUUMMMMMMMMUUMMMMMMUUMU... |
Test 61
Verdict: ACCEPTED
| input |
|---|
| 100000 39438 53660 53660 60245 20924 60245 20924 38669 ... |
| correct output |
|---|
| No |
| user output |
|---|
| No |
