7815 2024. 01. 11 11:01:58 BenedekMarton Tom és Jerry 1 (80) cpp17 Időlimit túllépés 64/80 569ms 13964 KiB
#include <iostream>
#include <vector>
#include <queue>

using namespace std;

int main()
{
    //beolvasas
    int n, m, t, p, e;
    cin >> n >> m >> t >> p >> e;
    t--;
    e--;
    vector<int> jar1[n], jar2[n];
    int a, b, s, k[p];
    for(int i=0; i<m; i++)
    {
        cin >> a >> b >> s;
        a--; b--;
        if(s==1)
        {
            jar1[a].push_back(b);
            jar1[b].push_back(a);
        }
        else
        {
            jar1[a].push_back(b);
            jar1[b].push_back(a);
            jar2[a].push_back(b);
            jar2[b].push_back(a);
        }
    }
    //cout << "Ce e problema";
    for(int i=0; i<p; i++)
    {
        cin >> k[i];
        k[i]--;
    }

    //tom
    int tid[n], x;
    for(int i=0; i<n; i++)
    {
        tid[i]=-1;
    }
    queue<int> q;
    tid[t]=0;
    q.push(t);
    while(!q.empty())
    {
        x=q.front();
        q.pop();
        for(int i=0; i<jar2[x].size(); i++)
        {
            if(tid[jar2[x][i]]==-1)
            {
                tid[jar2[x][i]]=tid[x]+1;
                q.push(jar2[x][i]);
            }
        }
    }

    //egerke
    int jid[n];
    for(int i=0; i<p; i++)
    {
        for(int j=0; j<n; j++)
        {
            jid[j]=-1;
        }
        jid[k[i]]=0;
        q.push(k[i]);
        while(!q.empty())
        {
            x=q.front();
            q.pop();
            for(int j=0; j<jar1[x].size(); j++)
            {
                if(jid[jar1[x][j]]==-1 and (!(tid[jar1[x][j]]<=jid[x]+1) or tid[jar1[x][j]]==-1))
                {
                    jid[jar1[x][j]]=jid[x]+1;
                    q.push(jar1[x][j]);
                }
            }
        }
        if(jid[e]!=-1)
        {
            cout << "IGEN" << endl;
        }
        else
        {
            cout << "NEM" << endl;
        }
    }
    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 64/80
1 Elfogadva 0/0 3ms 1824 KiB
2 Elfogadva 0/0 4ms 2136 KiB
3 Elfogadva 4/4 3ms 2076 KiB
4 Elfogadva 4/4 3ms 2288 KiB
5 Elfogadva 4/4 3ms 2380 KiB
6 Elfogadva 4/4 3ms 2504 KiB
7 Elfogadva 4/4 3ms 2888 KiB
8 Elfogadva 4/4 4ms 2908 KiB
9 Elfogadva 4/4 4ms 3044 KiB
10 Elfogadva 4/4 4ms 3392 KiB
11 Elfogadva 4/4 12ms 3824 KiB
12 Elfogadva 4/4 16ms 5264 KiB
13 Elfogadva 4/4 26ms 5748 KiB
14 Elfogadva 4/4 48ms 8380 KiB
15 Elfogadva 4/4 71ms 8640 KiB
16 Elfogadva 4/4 75ms 13964 KiB
17 Elfogadva 4/4 115ms 12920 KiB
18 Elfogadva 4/4 70ms 10468 KiB
19 Időlimit túllépés 0/4 555ms 7112 KiB
20 Időlimit túllépés 0/4 565ms 7196 KiB
21 Időlimit túllépés 0/4 558ms 6024 KiB
22 Időlimit túllépés 0/4 569ms 7364 KiB