37042023-03-02 12:21:14ZsofiaKeresztelyTom és Jerry 1 (80)cpp14Hibás válasz 36/80126ms14636 KiB
#include <bits/stdc++.h>
using namespace std;

vector<vector<int> > gj, gt;
vector<int> dt, dj;

void tom(int start){
    queue<int> q;
    q.push(start);
    dt[start] = 0;
    while (!q.empty()){
        int v = q.front();
        q.pop();
        for (int x : gt[v]){
            if (dt[x] < INT_MAX/2) continue;
            dt[x] = dt[v] + 1;
            q.push(x);
        }
    }
}

void jerry(int start){
    queue<int> q;
    q.push(start);
    dj[start] = dt[start] - 1;
    while (!q.empty()){
        int v = q.front();
        q.pop();
        for (int x : gj[v]){
            if (dj[x] < INT_MAX/2) continue;
            dj[x] = min(dt[x] - 1, dj[v] - 1);
            q.push(x);
        }
    }
}

int main()
{
    int n, m, t, p, j;
    cin >> n >> m >> t >> p >> j;
    gj.resize(n+1);
    gt.resize(n+1);
    dt.assign(n+1, INT_MAX/2);
    dj.assign(n+1, INT_MAX/2);
    while (m--){
        int a, b, w;
        cin >> a >> b >> w;
        gj[a].push_back(b);
        gj[b].push_back(a);
        if (w == 2){
            gt[a].push_back(b);
            gt[b].push_back(a);
        }
    }
    tom(t);
    jerry(j);
    while (p--){
        int a;
        cin >> a;
        if (dj[a] < 0){
            cout << "NEM\n";
        }
        else{
            cout << "IGEN\n";
        }
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base36/80
1Elfogadva0/03ms1940 KiB
2Hibás válasz0/04ms2316 KiB
3Elfogadva4/42ms2304 KiB
4Elfogadva4/42ms2352 KiB
5Hibás válasz0/43ms2576 KiB
6Elfogadva4/43ms2780 KiB
7Elfogadva4/43ms2912 KiB
8Hibás válasz0/44ms3288 KiB
9Hibás válasz0/44ms3508 KiB
10Elfogadva4/44ms3916 KiB
11Hibás válasz0/412ms4580 KiB
12Elfogadva4/414ms5720 KiB
13Hibás válasz0/424ms6360 KiB
14Hibás válasz0/446ms8776 KiB
15Hibás válasz0/464ms9304 KiB
16Elfogadva4/471ms14636 KiB
17Elfogadva4/4104ms13740 KiB
18Hibás válasz0/464ms11100 KiB
19Hibás válasz0/489ms13180 KiB
20Hibás válasz0/475ms12776 KiB
21Elfogadva4/481ms10364 KiB
22Hibás válasz0/4126ms13228 KiB