139062025-01-09 09:56:50RRoliTom és Jerry 1 (80)cpp17Időlimit túllépés 64/80600ms5760 KiB
#include <bits/stdc++.h>
using namespace std;

int n, m, t, p, e;
vector<int> tL;
vector<vector<int>> szom, tszom;

int main() {
    cin >> n >> m >> t >> p >> e;
    tL.resize(n+1, -1);
    szom.resize(n+1, vector<int>(0));
    tszom.resize(n+1, vector<int>(0));

    for(int i = 0; i < m; i++) {
        int a, b, c;
        cin >> a >> b >> c;
        szom[a].push_back(b);
        szom[b].push_back(a);
        if(c == 2) {
            tszom[a].push_back(b);
            tszom[b].push_back(a);
        }
    }

    queue<int> sor;
    sor.push(t);
    tL[t] = 0;
    while(!sor.empty()) {
        for(auto i : tszom[sor.front()]) {
            if(tL[i] == -1) {
                tL[i] = tL[sor.front()]+1;
                sor.push(i);
            }
        }
        sor.pop();
    }

    vector<bool> win(n+1, false), volt(n+1, false);
    win[e] = true;
    volt[e] = true;
    sor.push(e);
    while(!sor.empty()) {
        for(auto i : szom[sor.front()]) {
            if(volt[i] == -1 && tL[i] == -1) {
                win[i] = true;
                sor.push(i);
            }
            volt[i] = true;
        }
        sor.pop();
    }

	for(int i = 0; i < p; i++) {
		int k;
		cin >> k;

		queue<int> bsor;
		vector<int> L(n+1, -1);
		bsor.push(k);
		L[k] = 0;
		string jo = "NEM";

		while(!bsor.empty()) {
			if(win[bsor.front()]) {
				jo = "IGEN";
				break;
			}
			for(auto i : szom[bsor.front()]) {
				if(L[i] == -1 && (tL[i] == -1 || tL[i] > L[bsor.front()]+1)) {
					L[i] = L[bsor.front()]+1;
					bsor.push(i);
				}
			}
        	bsor.pop();
    	}

		cout << jo << '\n';
	}

    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base64/80
1Elfogadva0/01ms500 KiB
2Elfogadva0/03ms316 KiB
3Elfogadva4/41ms316 KiB
4Elfogadva4/41ms500 KiB
5Elfogadva4/41ms316 KiB
6Elfogadva4/41ms372 KiB
7Elfogadva4/42ms440 KiB
8Elfogadva4/43ms524 KiB
9Elfogadva4/43ms316 KiB
10Elfogadva4/44ms564 KiB
11Elfogadva4/49ms792 KiB
12Elfogadva4/414ms1184 KiB
13Elfogadva4/423ms1672 KiB
14Elfogadva4/446ms2980 KiB
15Elfogadva4/465ms3124 KiB
16Elfogadva4/475ms5760 KiB
17Elfogadva4/4119ms5088 KiB
18Elfogadva4/467ms3892 KiB
19Időlimit túllépés0/4600ms5012 KiB
20Időlimit túllépés0/4583ms4992 KiB
21Időlimit túllépés0/4587ms3644 KiB
22Időlimit túllépés0/4600ms5260 KiB