18542022-12-05 14:26:12kovacs.peter.18fTom és Jerry 1 (80)cpp11Időlimit túllépés 64/80600ms10940 KiB
#include <iostream>
#include <vector>
#include <queue>

using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(nullptr);

    int N, M, T, P, E;
    cin >> N >> M >> T >> P >> E;
    vector<vector<pair<int, int>>> neighbourS(N); // node, weihgt
    while (M--) {
        int A, B, S;
        cin >> A >> B >> S;
        --A;
        --B;
        neighbourS[A].push_back({ B, S });
        neighbourS[B].push_back({ A, S });
    }
    --T;
    --E;
    // szélességi bejárás Tomra
    vector<int> t_distS(N, -1);
    queue<int> currentS;
    t_distS[T] = 0;
    currentS.push(T);
    while (!currentS.empty()) {
        int c = currentS.front();
        currentS.pop();
        for (auto e : neighbourS[c]) {
            if (e.second == 2 && t_distS[e.first] == -1) {
                t_distS[e.first] = t_distS[c] + 1;
                currentS.push(e.first);
            }
        }
    }
    while (P--) {
        int K;
        cin >> K;
        --K;
        // szélességi bejárás Jerryre
        vector<int> j_distS(N, -1);
        j_distS[K] = 0;
        currentS.push(K);
        while (!currentS.empty()) {
            int c = currentS.front();
            currentS.pop();
            for (auto e : neighbourS[c]) {
                if (j_distS[e.first] == -1 && (t_distS[e.first] == -1 || t_distS[e.first] > j_distS[c] + 1)) {
                    j_distS[e.first] = j_distS[c] + 1;
                    currentS.push(e.first);
                }
            }
        }
        cout << (j_distS[E] == -1 ? "NEM\n" : "IGEN\n");
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base64/80
1Elfogadva0/03ms1828 KiB
2Elfogadva0/03ms2432 KiB
3Elfogadva4/42ms2272 KiB
4Elfogadva4/42ms2544 KiB
5Elfogadva4/42ms2452 KiB
6Elfogadva4/42ms2652 KiB
7Elfogadva4/42ms2884 KiB
8Elfogadva4/43ms2904 KiB
9Elfogadva4/43ms3180 KiB
10Elfogadva4/43ms3484 KiB
11Elfogadva4/46ms3992 KiB
12Elfogadva4/48ms4436 KiB
13Elfogadva4/414ms4948 KiB
14Elfogadva4/423ms7304 KiB
15Elfogadva4/437ms8008 KiB
16Elfogadva4/439ms10672 KiB
17Elfogadva4/459ms10940 KiB
18Elfogadva4/437ms9440 KiB
19Időlimit túllépés0/4600ms6152 KiB
20Időlimit túllépés0/4564ms6404 KiB
21Időlimit túllépés0/4573ms6180 KiB
22Időlimit túllépés0/4577ms7684 KiB