230392026-01-16 11:04:57AblablablaTom és Jerry 3cpp17Elfogadva 50/5074ms4256 KiB
#include <bits/stdc++.h>

using namespace std;

vector<vector<int>> csucsok;
vector<int> tavok;
int maxi;

void tav(int akt){
    if(tavok[maxi] < tavok[akt]){
        maxi = akt;
    }

    for(int x : csucsok[akt]){
        if(tavok[x] == -1){
            tavok[x] = tavok[akt] + 1;
            tav(x);
        }
    }
}



int jerry(int akt, int ido, int elozo = -1){
    if(tavok[akt] <= ido){
        return 0;
    }

    int vissza = tavok[akt];

    for(int x : csucsok[akt]){
        if(x == elozo) continue;

        vissza = max(vissza, jerry(x, ido + 1, akt));
    }

    return vissza;
}

int keres(int akt, int elozo = -1){
    int vissza = 0;

    for(int x : csucsok[akt]){
        if(x == elozo) continue;

        vissza = max(vissza, keres(x, akt) + 1);
    }

    return vissza;
}

void solve(){
    int n, j, t, k;
    cin >> n >> t >> j >> k;
    j--; t--;

    csucsok.assign(n, vector<int>());
    for(int i = 0; i < n - 1; i++){
        int a, b;
        cin >> a >> b;
        a--; b--;

        csucsok[a].push_back(b);
        csucsok[b].push_back(a);
    }

    tavok.assign(n, -1);
    tavok[t] = 0;
    maxi = t;


    tav(t);

    int a = jerry(j, 1);

    if(a <= k){
        cout << "IGEN\n";
        return;
    }

    int b = keres(maxi);

    if((b+1)/2 <= k){
        cout << "IGEN\n";
    } else{
        cout << "NEM\n";
    }
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    int t;
    cin >> t;

    while(t--){
        solve();
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/02ms316 KiB
3Elfogadva5/51ms316 KiB
4Elfogadva1/12ms316 KiB
5Elfogadva1/11ms536 KiB
6Elfogadva1/12ms316 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/12ms572 KiB
9Elfogadva1/11ms316 KiB
10Elfogadva1/11ms316 KiB
11Elfogadva2/21ms316 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva1/11ms316 KiB
14Elfogadva2/270ms3832 KiB
15Elfogadva2/261ms2940 KiB
16Elfogadva2/271ms3824 KiB
17Elfogadva2/272ms4244 KiB
18Elfogadva2/271ms3892 KiB
19Elfogadva2/270ms3812 KiB
20Elfogadva2/252ms4192 KiB
21Elfogadva2/259ms2964 KiB
22Elfogadva2/259ms3028 KiB
23Elfogadva3/372ms4256 KiB
24Elfogadva2/271ms3664 KiB
25Elfogadva3/365ms3892 KiB
26Elfogadva2/274ms4212 KiB
27Elfogadva2/259ms2936 KiB
28Elfogadva3/359ms3104 KiB