8102 2024. 01. 12 13:14:05 gortomi Tom és Jerry 1 (80) cpp17 Elfogadva 80/80 59ms 14740 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n, m, t, p, e;
    cin >> n >> m >> t >> p >> e;
    vector<vector<int> > g1(n + 1), g2(n + 1);
    for(int i = 0; i < m; i++)
    {
        int x, y, w;
        cin >> x >> y >> w;
        g1[x].push_back(y);
        g1[y].push_back(x);
        if(w == 2)
        {
            g2[x].push_back(y);
            g2[y].push_back(x);
        }
    }
    queue<int> q;
    q.push(t);
    vector<int> d(n + 1, 1e9);
    d[t] = 0;
    while(!q.empty())
    {
        int v = q.front();
        q.pop();
        for(auto x : g2[v])
        {
            if(d[x] == 1e9)
            {
                d[x] = d[v] + 1;
                q.push(x);
            }
        }
    }
    priority_queue<pair<int, int> > pq;
    vector<int> l(n + 1, -1);
    pq.push({d[e] - 1, e});
    l[e] = d[e] - 1;
    while(!pq.empty())
    {
        auto [l_v, v] = pq.top();
        pq.pop();
        //cout << v << "\n";
        if(l[v] != l_v) continue;

        for(auto x : g1[v])
        {
            int len = min(d[x] - 1, l[v] - 1);
            if(l[x] < len)
            {
                l[x] = len;
                pq.push({l[x], x});
            }
        }
    }
    while(p--)
    {
        int x;
        cin >> x;
        cout << (l[x] < 0 ? "NEM" : "IGEN") << "\n";
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 80/80
1 Elfogadva 0/0 3ms 1828 KiB
2 Elfogadva 0/0 4ms 2292 KiB
3 Elfogadva 4/4 3ms 2232 KiB
4 Elfogadva 4/4 3ms 2460 KiB
5 Elfogadva 4/4 3ms 2700 KiB
6 Elfogadva 4/4 3ms 2904 KiB
7 Elfogadva 4/4 3ms 3268 KiB
8 Elfogadva 4/4 4ms 3548 KiB
9 Elfogadva 4/4 4ms 3640 KiB
10 Elfogadva 4/4 4ms 3732 KiB
11 Elfogadva 4/4 8ms 4468 KiB
12 Elfogadva 4/4 8ms 5444 KiB
13 Elfogadva 4/4 16ms 6196 KiB
14 Elfogadva 4/4 30ms 9212 KiB
15 Elfogadva 4/4 37ms 9400 KiB
16 Elfogadva 4/4 43ms 14740 KiB
17 Elfogadva 4/4 57ms 13832 KiB
18 Elfogadva 4/4 41ms 11452 KiB
19 Elfogadva 4/4 46ms 13288 KiB
20 Elfogadva 4/4 43ms 13408 KiB
21 Elfogadva 4/4 32ms 10976 KiB
22 Elfogadva 4/4 59ms 14124 KiB