6719 | 2023. 12. 17 20:10:16 | 111 | Tom és Jerry 3 | cpp17 | Hibás válasz 6/50 | 108ms | 9264 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define double long double
#define pii pair<int, int>
signed main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
#ifdef CB
freopen("be2.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
#endif
int T;
cin >> T;
while (T--) {
int N, TS, JS, K;
cin >> N >> TS >> JS >> K;
vector<vector<int>> g(N + 1);
for (int i = 0; i < N - 1; i++) {
int a, b;
cin >> a >> b;
g[a].push_back(b);
g[b].push_back(a);
}
deque<int> q;
vector<int> td(N + 1, -1);
td[TS] = 0;
q.push_back(TS);
while (!q.empty()) {
int i = q.front();
q.pop_front();
for (int j : g[i]) {
if (td[j] == -1) {
td[j] = td[i] + 1;
q.push_back(j);
}
}
}
vector<int> jd(N + 1, -1);
jd[JS] = 0;
q.push_back(JS);
while (!q.empty()) {
int i = q.front();
q.pop_front();
for (int j : g[i]) {
if (jd[j] == -1) {
jd[j] = jd[i] + 1;
q.push_back(j);
}
}
}
int s = 0;
for (int i = 1; i <= N; i++) {
if (jd[i] < td[i] + 1) {
s = max(s, td[i]);
}
}
if (s <= K + 1) {
cout << "IGEN" << '\n';
continue;
}
auto solve = [&](int i) {
vector<int> v(N + 1, -1);
deque<int> q;
q.push_back(i);
v[i] = 0;
int f;
while (!q.empty()) {
int j = f = q.front();
q.pop_front();
for (int k : g[j]) {
if (v[k] == -1) {
v[k] = v[j] + 1;
q.push_back(k);
}
}
}
return pii{f, v[f]};
};
auto [a, b] = solve(1);
auto [c, d] = solve(a);
if ((d + 1) / 2 <= K) {
cout << "IGEN" << '\n';
continue;
}
cout << "NEM" << '\n';
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 6/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1832 KiB | |||
2 | Elfogadva | 0/0 | 3ms | 2024 KiB | |||
3 | Hibás válasz | 0/5 | 3ms | 2232 KiB | |||
4 | Hibás válasz | 0/1 | 3ms | 2752 KiB | |||
5 | Hibás válasz | 0/1 | 4ms | 2880 KiB | |||
6 | Hibás válasz | 0/1 | 3ms | 2924 KiB | |||
7 | Hibás válasz | 0/1 | 4ms | 3144 KiB | |||
8 | Hibás válasz | 0/1 | 4ms | 3236 KiB | |||
9 | Hibás válasz | 0/1 | 3ms | 3436 KiB | |||
10 | Hibás válasz | 0/1 | 3ms | 3496 KiB | |||
11 | Hibás válasz | 0/2 | 4ms | 3688 KiB | |||
12 | Hibás válasz | 0/2 | 3ms | 3776 KiB | |||
13 | Hibás válasz | 0/1 | 3ms | 3776 KiB | |||
14 | Hibás válasz | 0/2 | 108ms | 7348 KiB | |||
15 | Hibás válasz | 0/2 | 93ms | 5844 KiB | |||
16 | Hibás válasz | 0/2 | 103ms | 7948 KiB | |||
17 | Hibás válasz | 0/2 | 97ms | 9264 KiB | |||
18 | Elfogadva | 2/2 | 107ms | 7656 KiB | |||
19 | Elfogadva | 2/2 | 105ms | 7724 KiB | |||
20 | Elfogadva | 2/2 | 65ms | 9204 KiB | |||
21 | Hibás válasz | 0/2 | 93ms | 6204 KiB | |||
22 | Hibás válasz | 0/2 | 96ms | 6296 KiB | |||
23 | Hibás válasz | 0/3 | 92ms | 8904 KiB | |||
24 | Hibás válasz | 0/2 | 103ms | 8040 KiB | |||
25 | Hibás válasz | 0/3 | 104ms | 7868 KiB | |||
26 | Hibás válasz | 0/2 | 94ms | 9196 KiB | |||
27 | Hibás válasz | 0/2 | 97ms | 6288 KiB | |||
28 | Hibás válasz | 0/3 | 98ms | 6192 KiB |