123712024-12-13 15:35:54Ablablabla1Tom és Jerry 1 (80)cpp17Futási hiba 72/80120ms4552 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

const int INF = 2e9 + 7;

struct comp{
    bool operator()(pii a, pii b){
        return a.second < b.second;
    }
};

int main()
{
    int n, m, t, q, j;
    cin >> n >> m >> t >> q >> j;
    t--; j--;

    vector<vector<pii>> csucsok(n, vector<pii>());
    for(int i = 0; i < m; i++){
        int a, b, c;
        cin >> a >> b >> c;
        a--;
        b--;
        c--;

        csucsok[a].push_back({b, c});
        csucsok[b].push_back({a, c});
    }

    vector<int> tavok(n, INF);
    vector<bool> bejart(n);
    queue<int> bejar;
    bejar.push(t);
    tavok[t] = 0;

    while(!bejar.empty()){
        int akt = bejar.front();
        bejar.pop();

        if(bejart[akt]) continue;

        bejart[akt] = 1;

        for(pii x : csucsok[akt]){
            if(!x.second) continue;
            if(bejart[x.first]) continue;
            if(tavok[x.first] != INF) continue;

            tavok[x.first] = tavok[akt] + 1;
            bejar.push(x.first);
        }
    }

    bejart.assign(n, 0);
    priority_queue<pii, vector<pii>, comp> hely;
    hely.push({j, tavok[j]});

    while(!hely.empty()){
        int akt = hely.top().first;
        int marad = hely.top().second;
        hely.pop();

        if(bejart[akt]) continue;

        bejart[akt] = 1;

        if(marad == 1) continue;

        for(pii x : csucsok[akt]){
            if(bejart[x.first]) continue;

            hely.push({x.first, min(marad - 1 + (marad == INF), tavok[x.first])});
        }
    }

    while(q--){
        int a;
        cin >> a;
        a--;

        assert(a != j);

        if(bejart[a]){
            cout << "IGEN\n";
        } else{
            cout << "NEM\n";
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base72/80
1Elfogadva0/01ms512 KiB
2Elfogadva0/03ms320 KiB
3Futási hiba0/41ms320 KiB
4Elfogadva4/41ms320 KiB
5Elfogadva4/41ms320 KiB
6Elfogadva4/41ms320 KiB
7Elfogadva4/41ms320 KiB
8Elfogadva4/42ms320 KiB
9Elfogadva4/43ms508 KiB
10Elfogadva4/43ms320 KiB
11Elfogadva4/49ms872 KiB
12Elfogadva4/412ms924 KiB
13Elfogadva4/421ms1516 KiB
14Elfogadva4/446ms2448 KiB
15Hibás válasz0/467ms2988 KiB
16Elfogadva4/461ms3656 KiB
17Elfogadva4/498ms3896 KiB
18Elfogadva4/464ms3280 KiB
19Elfogadva4/475ms3352 KiB
20Elfogadva4/476ms3384 KiB
21Elfogadva4/470ms3032 KiB
22Elfogadva4/4120ms4552 KiB