72402024-01-05 09:38:21anonTom és Jerry 3cpp17Hibás válasz 4/50111ms14148 KiB
#include <bits/stdc++.h>
#define FastIO ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL)
using namespace std;
typedef long long ll;
typedef struct {
    ll md;
    ll depth;
    ll parent;
    vector<ll> children;
} Branch;
ll build_tree(ll vertex, ll parent, ll depth, vector<Branch> &tree, const vector<vector<ll>> &graph) {
    tree[vertex].md = depth;
    tree[vertex].depth = depth;
    tree[vertex].parent = parent;
    for(const auto &x : graph[vertex]) {
        if(x == parent)
            continue;
        tree[vertex].md = max(tree[vertex].md, build_tree(x, vertex, depth + 1, tree, graph));
        tree[vertex].children.push_back(x);
    }
    return tree[vertex].md;
}
int main() {
    FastIO;
    ll i, u, v, rj, N, T, J, K, C;
    cin >> C;
    while(C--) {
        cin >> N >> T >> J >> K;
        vector<vector<ll>> graph(N + 1);
        for(i = 1; i < N; i++) {
            cin >> u >> v;
            graph[u].push_back(v);
            graph[v].push_back(u);
        }
        vector<Branch> tree(N + 1);
        build_tree(T, -1, 0, tree, graph);
        rj = J;
        while(true) {
            if(tree[J].depth - tree[rj].depth >= tree[rj].depth - 1) {
                cout << "IGEN\n";
                break;
            }
            if(tree[rj].depth + min(K - 1 - (tree[J].depth - tree[rj].depth), tree[rj].md - tree[rj].depth) > K + 1) {
                cout << "NEM\n";
                break;
            }
            rj = tree[rj].parent;
            if(rj == -1) {
                cout << "NEM\n";
                break;
            }
        }
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base4/50
1Elfogadva0/03ms1832 KiB
2Elfogadva0/03ms2064 KiB
3Hibás válasz0/53ms2264 KiB
4Hibás válasz0/13ms2496 KiB
5Hibás válasz0/13ms2676 KiB
6Hibás válasz0/13ms2896 KiB
7Hibás válasz0/13ms2980 KiB
8Hibás válasz0/13ms2972 KiB
9Hibás válasz0/13ms2976 KiB
10Hibás válasz0/13ms2980 KiB
11Hibás válasz0/23ms2976 KiB
12Hibás válasz0/23ms2972 KiB
13Hibás válasz0/13ms2980 KiB
14Elfogadva2/2111ms8316 KiB
15Hibás válasz0/2100ms5736 KiB
16Hibás válasz0/2111ms8520 KiB
17Hibás válasz0/2104ms11512 KiB
18Elfogadva2/2109ms9020 KiB
19Hibás válasz0/2105ms9004 KiB
20Hibás válasz0/274ms14148 KiB
21Hibás válasz0/298ms6680 KiB
22Hibás válasz0/297ms6392 KiB
23Hibás válasz0/3104ms11968 KiB
24Hibás válasz0/2109ms9432 KiB
25Hibás válasz0/3107ms9444 KiB
26Hibás válasz0/2107ms12588 KiB
27Hibás válasz0/2101ms7104 KiB
28Hibás válasz0/397ms7172 KiB