7358 2024. 01. 08 10:40:02 zsebi Tom és Jerry 1 (80) cpp17 Hibás válasz 0/80 578ms 15840 KiB
// tomesjerry.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <queue>

#define ll long long 
using namespace std;

ll n, m, t, p, E;
struct adat
{
    ll bet=0,bej=0;
    bool lat = false,latt=false;
    vector<pair<ll,ll>>sz;
};
int main()
{
    cin >> n >> m >> t >> p >> E;
    vector<adat>x(n + 1);
    for (int i = 1; i <= n; ++i)
    {
        int a, b,c;
        cin >> a >> b>>c;
        x[a].sz.push_back({ b,c });
        x[b].sz.push_back({ a,c });

    }
    deque<ll>v;
    v.push_back(t);
    while (!v.empty())
    {

        ll akt = v.front();
        x[akt].latt = true;
        v.pop_front();
        for (auto& e : x[akt].sz)
        {
            if (!x[e.first].latt && e.second == 2)
            {
                x[e.first].bet = x[akt].bet + 1;
                v.push_back(e.first);
            }
        }


    }
    
    while (p--)
    {
        ll akt;
        cin >> akt;
        v.push_back(akt);
        while (!v.empty())
        {
            akt = v.front();
            v.pop_front();
            x[akt].lat = true;
            for (auto& e : x[akt].sz)
            {
                if (!x[e.first].lat && (x[e.first].bet > x[akt].lat + 1 || (x[e.first].bet==0 && e.first!=t)))
                {
                    x[e.first].bej = x[akt].bej + 1;
                    v.push_back(e.first);
                }
            }
            
        }
        if (x[E].lat == true)cout << "IGEN\n";
        else cout << "NEM\n";
        for (int i = 1; i <= n; ++i)
        {
            x[i].bej = 0;
            x[i].lat = false;
        }

    }
    return 0;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file
Részfeladat Összpont Teszt Verdikt Idő Memória
base 0/80
1 Elfogadva 0/0 3ms 1952 KiB
2 Hibás válasz 0/0 4ms 2412 KiB
3 Hibás válasz 0/4 3ms 2384 KiB
4 Hibás válasz 0/4 3ms 2544 KiB
5 Hibás válasz 0/4 3ms 2652 KiB
6 Hibás válasz 0/4 3ms 2716 KiB
7 Hibás válasz 0/4 3ms 3124 KiB
8 Hibás válasz 0/4 4ms 3232 KiB
9 Hibás válasz 0/4 4ms 3328 KiB
10 Hibás válasz 0/4 4ms 3448 KiB
11 Hibás válasz 0/4 6ms 3884 KiB
12 Hibás válasz 0/4 14ms 5400 KiB
13 Hibás válasz 0/4 21ms 5792 KiB
14 Hibás válasz 0/4 35ms 8444 KiB
15 Hibás válasz 0/4 46ms 9440 KiB
16 Hibás válasz 0/4 93ms 15840 KiB
17 Hibás válasz 0/4 59ms 12700 KiB
18 Hibás válasz 0/4 56ms 13344 KiB
19 Időlimit túllépés 0/4 563ms 11624 KiB
20 Időlimit túllépés 0/4 546ms 12312 KiB
21 Időlimit túllépés 0/4 538ms 12020 KiB
22 Időlimit túllépés 0/4 578ms 12976 KiB