156132025-02-21 09:29:47linhnkFertőzési sorozat (50 pont)cpp17Hibás válasz 0/508ms572 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);
    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()]){
                        q.push(x);
                        erdos[x]=erdos[q.front()]+1;
                    }
                }
                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(!alap[x]&&x<erdos[hal.back()]&&x>erdos[hal[0]]){
                    jaj=false;
                    break;
                }
            }
            if(jaj){
                d.push_back(h);
            }
            for(auto x:erdos){
            cout<<x<<" ";
            }
            cout<<endl;
            jaj=true;
            erdos.assign(n+1, 0);
            been.assign(n+1, false);
    }
    cerr<<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
base0/50
1Hibás válasz0/01ms508 KiB
2Hibás válasz0/01ms316 KiB
3Hibás válasz0/01ms316 KiB
4Hibás válasz0/21ms508 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/22ms424 KiB
7Hibás válasz0/21ms404 KiB
8Hibás válasz0/21ms368 KiB
9Hibás válasz0/22ms316 KiB
10Hibás válasz0/22ms316 KiB
11Hibás válasz0/12ms508 KiB
12Hibás válasz0/22ms316 KiB
13Hibás válasz0/28ms572 KiB
14Hibás válasz0/28ms380 KiB
15Hibás válasz0/21ms420 KiB
16Hibás válasz0/21ms316 KiB
17Hibás válasz0/21ms316 KiB
18Hibás válasz0/11ms508 KiB
19Hibás válasz0/11ms508 KiB
20Hibás válasz0/11ms316 KiB
21Hibás válasz0/12ms316 KiB
22Hibás válasz0/12ms316 KiB
23Hibás válasz0/12ms556 KiB
24Hibás válasz0/12ms316 KiB
25Hibás válasz0/12ms316 KiB
26Hibás válasz0/12ms500 KiB
27Hibás válasz0/12ms508 KiB
28Hibás válasz0/11ms316 KiB
29Hibás válasz0/12ms316 KiB
30Hibás válasz0/11ms316 KiB
31Hibás válasz0/12ms420 KiB
32Hibás válasz0/12ms500 KiB
33Hibás válasz0/12ms420 KiB
34Hibás válasz0/12ms316 KiB
35Hibás válasz0/12ms424 KiB
36Hibás válasz0/12ms316 KiB
37Hibás válasz0/12ms524 KiB
38Hibás válasz0/12ms508 KiB
39Hibás válasz0/12ms316 KiB
40Hibás válasz0/11ms316 KiB