189712025-11-13 19:32:54KristófFertőzési sorozat (50 pont)cpp17Hibás válasz 9/5098ms664 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;
map<int,int> dist;
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]=dist[u]+1;
            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]]-1 != dist[sorozat[i-1]] && (!elso && db[dist[sorozat[i]]] !=0))
        return false;
    else elso=false;
    }
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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base9/50
1Hibás válasz0/01ms500 KiB
2Hibás válasz0/01ms380 KiB
3Hibás válasz0/023ms508 KiB
4Hibás válasz0/22ms412 KiB
5Hibás válasz0/24ms428 KiB
6Hibás válasz0/221ms316 KiB
7Hibás válasz0/223ms448 KiB
8Hibás válasz0/223ms500 KiB
9Hibás válasz0/223ms316 KiB
10Hibás válasz0/294ms496 KiB
11Hibás válasz0/12ms504 KiB
12Hibás válasz0/292ms480 KiB
13Hibás válasz0/294ms484 KiB
14Hibás válasz0/283ms476 KiB
15Hibás válasz0/293ms600 KiB
16Hibás válasz0/296ms472 KiB
17Hibás válasz0/285ms324 KiB
18Elfogadva1/192ms508 KiB
19Elfogadva1/196ms508 KiB
20Hibás válasz0/186ms316 KiB
21Elfogadva1/194ms480 KiB
22Elfogadva1/197ms484 KiB
23Elfogadva1/197ms492 KiB
24Hibás válasz0/198ms500 KiB
25Hibás válasz0/189ms476 KiB
26Hibás válasz0/189ms316 KiB
27Hibás válasz0/194ms664 KiB
28Hibás válasz0/197ms504 KiB
29Elfogadva1/197ms540 KiB
30Hibás válasz0/197ms316 KiB
31Hibás válasz0/197ms496 KiB
32Hibás válasz0/190ms508 KiB
33Elfogadva1/194ms316 KiB
34Hibás válasz0/194ms508 KiB
35Hibás válasz0/194ms508 KiB
36Hibás válasz0/194ms480 KiB
37Hibás válasz0/194ms316 KiB
38Hibás válasz0/196ms480 KiB
39Elfogadva1/197ms316 KiB
40Elfogadva1/196ms508 KiB