13802022-08-30 11:12:07TusySamuTom és Jerry 3cpp17Hibás válasz 2/50171ms7844 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    int t;
    cin >> t;
    while (t--) {
        int n, ts, js, k, ma, ma2, a, b;
        cin >> n >> ts >> js >> k;
        vector<vector<int> > x(n+1);
        vector<int> tavt(n+1, -1), tavj(n+1, -1);
        for (int i=0; i<n-1; i++) {
            cin >> a >> b;
            x[a].push_back(b);
            x[b].push_back(a);
        }
        queue<int> q;
        q.push(ts);
        tavt[ts]=0;
        while (!q.empty()) {
            a=q.front();
            q.pop();
            for (int cs : x[a]) {
                if (tavt[cs]==-1) {
                    tavt[cs]=tavt[a]+1;
                    q.push(cs);
                    if (ma<tavt[cs]) {
                        ma2=ma;
                        ma=tavt[cs];
                    }
                    else ma2=max(ma2, tavt[cs]);
                }
            }
        }
        q.push(js);
        tavj[js]=0;
        while (!q.empty()) {
            a=q.front();
            q.pop();
            for (int cs : x[a]) {
                if (tavj[cs]==-1) {
                    tavj[cs]=tavt[a]+1;
                    q.push(cs);
                }
            }
        }
        a=0;
        for (int i=1; (i<=n && !a); i++) {
            if (tavj[i]<=k && tavt[i]>k) a=1;
        }
        if (a==0 || ma+ma2<=k) cout << "IGEN\n";
        else cout << "NEM\n";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base2/50
1Elfogadva0/03ms1812 KiB
2Hibás válasz0/02ms2068 KiB
3Hibás válasz0/52ms2260 KiB
4Elfogadva1/13ms2508 KiB
5Hibás válasz0/13ms2700 KiB
6Hibás válasz0/13ms2904 KiB
7Hibás válasz0/13ms3076 KiB
8Elfogadva1/13ms3280 KiB
9Hibás válasz0/13ms3308 KiB
10Hibás válasz0/13ms3444 KiB
11Hibás válasz0/23ms3540 KiB
12Hibás válasz0/23ms3512 KiB
13Hibás válasz0/13ms3752 KiB
14Hibás válasz0/2170ms6252 KiB
15Hibás válasz0/2158ms4984 KiB
16Hibás válasz0/2170ms6260 KiB
17Hibás válasz0/2157ms7788 KiB
18Hibás válasz0/2171ms6568 KiB
19Hibás válasz0/2170ms6636 KiB
20Hibás válasz0/2107ms7812 KiB
21Hibás válasz0/2158ms5272 KiB
22Hibás válasz0/2157ms5304 KiB
23Hibás válasz0/3157ms7656 KiB
24Hibás válasz0/2171ms6696 KiB
25Hibás válasz0/3170ms6684 KiB
26Hibás válasz0/2158ms7844 KiB
27Hibás válasz0/2158ms5388 KiB
28Hibás válasz0/3158ms5412 KiB