156192025-02-21 10:18:26linhnkFertőzési sorozat (50 pont)cpp17Hibás válasz 3/504ms512 KiB
#include <iostream>
#include <bits/stdc++.h>
#include<queue>

using namespace std;

int main()
{
    int n, m, k, a, b;
    cin>>n>>m>>k;
    vector<int> hal(k);
    vector<vector<int>> cs(n+1);
    vector<int> erdos(n+1, -1);
    vector<bool> alap(n+1, false);
    vector<bool> been(n+1, false);
    queue<int> q;
    vector<int> d;
    bool jaj=true;
    for(int i=0; i<k; i++){
        cin>>hal[i];
        alap[hal[i]]=true;
    }
    alap[hal[0]]=false;
    for(int i=0; i<m; i++){
        cin>>a>>b;
        cs[a].push_back(b);
        cs[b].push_back(a);
    }
    for(int h=1; h<n+1; h++){

            if(alap[h])
                continue;
            erdos[h]=0;
            been[h]=true;
            for(auto x:cs[h]){
                q.push(x);
                erdos[x]=1;
            }
            while(q.size()>0){
                if(!been[q.front()]){
                        been[q.front()]=true;
                    for(auto x:cs[q.front()]){
                        if(erdos[x]==-1){
                            erdos[x]=erdos[q.front()]+1;
                            q.push(x);
                        }
                    }
                }
                q.pop();
            }
            for(int i=0; i<k-1; i++){
                if(erdos[hal[i]]+1<erdos[hal[i+1]]){
                    jaj=false;
                    break;
                }
            }

            if(!jaj){
                    continue;
                }
            for(auto x:erdos){
                    if(x!=-1){
                if(!alap[x]&&x<erdos[hal.back()]&&x>erdos[hal[0]]){
                    jaj=false;
                    break;

                }
                }
            }
            if(jaj){
                d.push_back(h);
            }
            jaj=true;
            erdos.assign(n+1, -1);
            been.assign(n+1, false);
    }
    cout<<d.size()<<endl;
    for(auto x:d){
        cout<<x<<" ";
    }
    /*cout<<endl<<erdos.size()<<endl;
    for(auto x:erdos){
        cout<<x<<" ";
    }*/

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base3/50
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/01ms508 KiB
3Hibás válasz0/01ms316 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/21ms408 KiB
6Hibás válasz0/21ms348 KiB
7Hibás válasz0/21ms412 KiB
8Hibás válasz0/21ms316 KiB
9Hibás válasz0/24ms316 KiB
10Hibás válasz0/22ms316 KiB
11Elfogadva1/11ms316 KiB
12Hibás válasz0/21ms412 KiB
13Hibás válasz0/23ms316 KiB
14Hibás válasz0/22ms316 KiB
15Hibás válasz0/22ms316 KiB
16Hibás válasz0/21ms424 KiB
17Hibás válasz0/21ms316 KiB
18Hibás válasz0/11ms316 KiB
19Hibás válasz0/11ms424 KiB
20Hibás válasz0/11ms316 KiB
21Hibás válasz0/12ms316 KiB
22Hibás válasz0/12ms508 KiB
23Hibás válasz0/12ms420 KiB
24Hibás válasz0/12ms316 KiB
25Hibás válasz0/12ms316 KiB
26Hibás válasz0/12ms420 KiB
27Hibás válasz0/12ms316 KiB
28Hibás válasz0/12ms420 KiB
29Hibás válasz0/12ms400 KiB
30Hibás válasz0/12ms316 KiB
31Hibás válasz0/12ms420 KiB
32Hibás válasz0/11ms376 KiB
33Elfogadva1/12ms316 KiB
34Hibás válasz0/12ms512 KiB
35Hibás válasz0/12ms384 KiB
36Hibás válasz0/12ms508 KiB
37Hibás válasz0/12ms316 KiB
38Hibás válasz0/12ms316 KiB
39Elfogadva1/12ms316 KiB
40Hibás válasz0/12ms316 KiB