189742025-11-13 19:41:46KristófFertőzési sorozat (50 pont)cpp17Wrong answer 47/5017ms556 KiB
#include <iostream>
#include <vector>
#include <map>
#include <queue>
using namespace std;

vector<vector<int>> graph;
vector<int> sorozat;

bool bfs(int s,int n,int k)
{
vector<bool> visited(n,false);
queue<int> q;
vector<int> dist(n+1,1e9+100);
q.push(s);
visited[s]=true;
dist[s]=0;
map<int,int> db;
while(!q.empty())
    {

    int u=q.front();q.pop();

    for(int x : graph[u])
        {
        if(!visited[x])
            {
            dist[x]=min(dist[u]+1 , dist[x]);
            visited[x]=true;
            q.push(x);
            db[dist[x]]++;
            }
        }
    }
bool elso=true;
for(int i=1;i<k;i++)
    {
    if(dist[sorozat[i]] == dist[sorozat[i-1]])
        continue;
    else
    {if (dist[sorozat[i]] < dist[sorozat[i-1]] || dist[sorozat[i]]-1 != dist[sorozat[i-1]] || (!elso && db[dist[sorozat[i]]] !=0))
        return false;
    elso=false;
    }
    db[dist[sorozat[i]]]--;
    }
return true;
}



int main()
{
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
    int n,m,k;
    cin>>n>>m>>k;
    graph.resize(n+1);
    sorozat.resize(k);
    int x,y;
    for(int i=0;i<k;i++)
        {
        cin>>sorozat[i];
        }
    for(int i=0;i<m;i++)
        {
        cin>>x>>y;
        graph[x].push_back(y);
        graph[y].push_back(x);
        }


    //sorozat.push_back(-1);
    vector<int> ans;
    for(int i=1;i<=n;i++)
        {
        if(bfs(i,n,k))
            {
            //cout<<endl;
            ans.push_back(i);
            }
        //cout<<endl;
        }
    cout<<ans.size()<<endl;
    for(auto x : ans)
        {
        cout<<x<<" ";
        }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base47/50
1Accepted0/01ms508 KiB
2Accepted0/01ms316 KiB
3Accepted0/04ms512 KiB
4Accepted2/21ms316 KiB
5Accepted2/22ms316 KiB
6Accepted2/24ms316 KiB
7Accepted2/24ms316 KiB
8Accepted2/24ms316 KiB
9Accepted2/24ms452 KiB
10Accepted2/214ms464 KiB
11Accepted1/11ms316 KiB
12Accepted2/29ms500 KiB
13Accepted2/213ms316 KiB
14Accepted2/26ms460 KiB
15Accepted2/29ms556 KiB
16Accepted2/213ms316 KiB
17Accepted2/26ms336 KiB
18Wrong answer0/19ms316 KiB
19Accepted1/113ms316 KiB
20Accepted1/16ms460 KiB
21Accepted1/114ms456 KiB
22Accepted1/117ms464 KiB
23Wrong answer0/117ms316 KiB
24Accepted1/116ms508 KiB
25Accepted1/112ms316 KiB
26Accepted1/113ms540 KiB
27Accepted1/114ms464 KiB
28Accepted1/114ms540 KiB
29Accepted1/116ms456 KiB
30Accepted1/116ms456 KiB
31Accepted1/114ms460 KiB
32Accepted1/113ms468 KiB
33Wrong answer0/114ms460 KiB
34Accepted1/114ms316 KiB
35Accepted1/114ms464 KiB
36Accepted1/114ms456 KiB
37Accepted1/114ms456 KiB
38Accepted1/114ms316 KiB
39Accepted1/117ms460 KiB
40Accepted1/114ms508 KiB