198152025-12-24 00:48:57KristófTom és Jerry 1 (80)cpp17Elfogadva 80/80119ms5660 KiB
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int INF=500000;
int main()
{
    int n,m,tom,proba,egerlyuk;
    cin>>n>>m>>tom>>proba>>egerlyuk;
    vector<vector<int>> tomg(n+1);
    vector<vector<int>> jerryg(n+1);
    int from,to,type;
    for(int i=0;i<m;i++)
        {
        cin>>from>>to>>type;
        //cout<<from<<" "<<to<<" "<<type<<"\n";
        if(type==1)
            {
            jerryg[from].push_back(to);
            jerryg[to].push_back(from);
            }
        else
            {
            jerryg[from].push_back(to);
            jerryg[to].push_back(from);
            tomg[from].push_back(to);
            tomg[to].push_back(from);
            }
        }

    vector<int> tomd(n+1,INF);
    vector<bool> visit(n+1,false);
    queue<int> q;
    q.push(tom);visit[tom]=true;tomd[tom]=0;
    while(q.size())
        {
        int v=q.front();q.pop();
        for(int x:tomg[v])
            {
            if(!visit[x])
                {
                visit[x]=true;
                q.push(x);
                tomd[x]=tomd[v]+1;
                }
            }
        }
    vector<int> ans(n+1,-1);
    q.push(egerlyuk);visit[egerlyuk]=true;ans[egerlyuk]=tomd[egerlyuk]-1;
    while(q.size())
        {
        //cout<<"ALMAAAAAAAAAAA\n";
        int v=q.front();q.pop();
        for(int x:jerryg[v])
            {
            int ns = min(ans[v]-1,tomd[x]-1);
            if (ns > ans[x])
                {
                ans[x]=ns;
                q.push(x);
                }
            }
        }
    int tmp;
    for(int i=0;i<proba;i++)
        {
        cin>>tmp;
        if(ans[tmp]<0)
            {
            cout<<"NEM\n";
            }
        else
            {
            cout<<"IGEN\n";
            }
        }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base80/80
1Elfogadva0/01ms316 KiB
2Elfogadva0/03ms316 KiB
3Elfogadva4/41ms316 KiB
4Elfogadva4/41ms316 KiB
5Elfogadva4/41ms332 KiB
6Elfogadva4/41ms316 KiB
7Elfogadva4/41ms316 KiB
8Elfogadva4/42ms456 KiB
9Elfogadva4/43ms500 KiB
10Elfogadva4/43ms564 KiB
11Elfogadva4/49ms752 KiB
12Elfogadva4/413ms1200 KiB
13Elfogadva4/423ms1588 KiB
14Elfogadva4/448ms3052 KiB
15Elfogadva4/467ms3136 KiB
16Elfogadva4/471ms5660 KiB
17Elfogadva4/4105ms5068 KiB
18Elfogadva4/468ms3848 KiB
19Elfogadva4/487ms4916 KiB
20Elfogadva4/482ms4916 KiB
21Elfogadva4/471ms3512 KiB
22Elfogadva4/4119ms5172 KiB