73582024-01-08 10:40:02zsebiTom és Jerry 1 (80)cpp17Wrong answer 0/80578ms15840 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
SubtaskSumTestVerdictTimeMemory
base0/80
1Accepted0/03ms1952 KiB
2Wrong answer0/04ms2412 KiB
3Wrong answer0/43ms2384 KiB
4Wrong answer0/43ms2544 KiB
5Wrong answer0/43ms2652 KiB
6Wrong answer0/43ms2716 KiB
7Wrong answer0/43ms3124 KiB
8Wrong answer0/44ms3232 KiB
9Wrong answer0/44ms3328 KiB
10Wrong answer0/44ms3448 KiB
11Wrong answer0/46ms3884 KiB
12Wrong answer0/414ms5400 KiB
13Wrong answer0/421ms5792 KiB
14Wrong answer0/435ms8444 KiB
15Wrong answer0/446ms9440 KiB
16Wrong answer0/493ms15840 KiB
17Wrong answer0/459ms12700 KiB
18Wrong answer0/456ms13344 KiB
19Time limit exceeded0/4563ms11624 KiB
20Time limit exceeded0/4546ms12312 KiB
21Time limit exceeded0/4538ms12020 KiB
22Time limit exceeded0/4578ms12976 KiB