243832026-02-10 20:18:29abcdTom és Jerry 3cpp17Runtime error 41/50165ms2016 KiB
#include <bits/stdc++.h>
using namespace std;

/*
3
4 1 3 1
1 2 1 3 3 4
5 2 5 1 1 2 1 3 3 4 4 5
4 4 2 2 1 4 1 2 1 3
*/

const int maxn=20001;
vector<int> adj[maxn];

void dfs(int start, int n, vector<int>& d){
    vector<bool> visited(n+1, false);
    stack<pair<int,int>> st;
    st.push({start,0});
    while(!st.empty()){
        auto [v,dis] = st.top(); st.pop();
        if(visited[v]) continue;
        visited[v] = true;
        d[v] = dis;
        for(int to : adj[v]){
            if(!visited[to]){
                st.push({to,dis+1});
            }
        }
    }
}


int main(){
    int t;cin>>t;
    while(t--){
        int n,ts,js,k;cin>>n>>ts>>js>>k;
        vector<int> dt(n+1),dj(n+1),da(n+1);
        for(int i=1;i<=n;i++){
            adj[i].clear();
        }
        for(int i=1;i<n;i++){
            int a,b;cin>>a>>b;
            adj[a].push_back(b);
            adj[b].push_back(a);
        }
        dfs(ts,n,dt);
        dfs(js,n,dj);
        bool yes=false;
        for(int i=1;i<=n;i++){
            if(dj[i]<k&&dt[i]>k)yes=true;
        }
        if(!yes){
            cout<<"IGEN\n";continue;
        }
        int a=1;
        for(int i=1;i<=n;i++){
            if(dt[i]>dt[a])a=i;
        }
        dfs(a,n,da);
        int mx=0;
        for(int i=1;i<=n;i++){
            mx=max(mx,da[i]);
        }
        if(mx>k*2)cout<<"NEM\n";
        else cout<<"IGEN\n";
    }
}
SubtaskSumTestVerdictTimeMemory
base41/50
1Accepted0/01ms820 KiB
2Accepted0/02ms820 KiB
3Accepted5/52ms820 KiB
4Accepted1/12ms820 KiB
5Accepted1/12ms820 KiB
6Accepted1/12ms820 KiB
7Accepted1/12ms820 KiB
8Accepted1/12ms820 KiB
9Accepted1/12ms820 KiB
10Accepted1/12ms860 KiB
11Accepted2/22ms752 KiB
12Accepted2/22ms704 KiB
13Accepted1/13ms1004 KiB
14Accepted2/2164ms1844 KiB
15Accepted2/2143ms1340 KiB
16Accepted2/2164ms1844 KiB
17Runtime error0/22ms1076 KiB
18Accepted2/2165ms1764 KiB
19Accepted2/2162ms1844 KiB
20Runtime error0/21ms1156 KiB
21Accepted2/2142ms1332 KiB
22Accepted2/2143ms1332 KiB
23Runtime error0/32ms1076 KiB
24Accepted2/2164ms1780 KiB
25Accepted3/3163ms2016 KiB
26Runtime error0/22ms1076 KiB
27Accepted2/2144ms1336 KiB
28Accepted3/3145ms1376 KiB