184882025-10-24 09:58:45KristófTom és Jerry 1 (80)cpp17Hibás válasz 0/80587ms10388 KiB
#include <iostream>
#include <vector>
#include <queue>

using namespace std;

vector<int> BFS(vector<vector<int>> &graph,int v)
{
vector<bool> visit(graph.size()+1,false);
vector<int> layer(graph.size()+1,-1);
queue<int> bfs;
layer[v]=0;
visit[v]=true;
bfs.push(v);
int layercnt=0;
while(bfs.size()!=0)
    {
    //cout<<graph[v].size()<<endl;
    v=bfs.front();
    layercnt++;
    visit[v]=true;
    for(auto x : graph[v])
        {
        cout<<v<<" "<<x<<" "<<layercnt<<endl;
        if(!visit[x])
            {
            bfs.push(x);
            layer[x]=layercnt;
            visit[x]=true;
            }
        }
    bfs.pop();
    }



return layer;
}

void solve(vector<int> &tom,vector<int> &jerry,vector<vector<int>> &graph,int s,vector<bool> &visit,bool &p,int &e)
{

visit[s]=true;
if(tom[s]!=-1)
    {
    if(tom[s]<=jerry[s])
        {
        return ;
        }
    }
if(s==e)
    {
    p=true;
    return ;
    }
for(auto x : graph[s])
    {
    if(!visit[x])
        solve(tom,jerry,graph,x,visit,p,e);
    }
}




int main()
{
    int n,m,t,jt,e;
    cin>>n>>m>>t>>jt>>e;
    vector<vector<int>>graphj(n+1);
    vector<vector<int>>grapht(n+1);
    int x,y,d;
    for(int i=0;i<m;i++)
        {
        cin>>x>>y>>d;
        graphj[x].push_back(y);
        graphj[y].push_back(x);
        if(d==2)
            {
            //cout<<x<<" "<<y<<endl;
            grapht[x].push_back(y);
            grapht[y].push_back(x);
            }
        }

    vector<int> ans=BFS(grapht,t);
    while(jt--)
        {
        cin>>x;
        vector<int> jerry=BFS(graphj,x);
        vector<bool> visit(n+1,false);
        bool p=false;
        solve(ans,jerry,graphj,x,visit,p,e);
        if(p==false)
            {
            cout<<"NEM"<<endl;
            }
        else cout<<"IGEN"<<endl;
        }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/80
1Hibás válasz0/01ms508 KiB
2Hibás válasz0/082ms816 KiB
3Hibás válasz0/41ms316 KiB
4Hibás válasz0/42ms316 KiB
5Hibás válasz0/47ms316 KiB
6Hibás válasz0/48ms316 KiB
7Hibás válasz0/424ms588 KiB
8Hibás válasz0/459ms820 KiB
9Hibás válasz0/475ms920 KiB
10Hibás válasz0/496ms1076 KiB
11Hibás válasz0/4405ms3632 KiB
12Hibás válasz0/4476ms4996 KiB
13Időlimit túllépés0/4583ms6452 KiB
14Időlimit túllépés0/4578ms7988 KiB
15Időlimit túllépés0/4578ms8288 KiB
16Időlimit túllépés0/4572ms10144 KiB
17Időlimit túllépés0/4579ms9520 KiB
18Időlimit túllépés0/4583ms9268 KiB
19Időlimit túllépés0/4578ms10132 KiB
20Időlimit túllépés0/4582ms10388 KiB
21Időlimit túllépés0/4583ms8756 KiB
22Időlimit túllépés0/4587ms9828 KiB