149522025-02-09 21:27:37iSamu7598Kerékpártúra (50 pont)cpp17Elfogadva 50/50137ms5552 KiB
#include <iostream>
#include <vector>
#include <queue>
using namespace std;

vector<vector<int> > szomszli(10005);
vector<vector<int> > forditott_szomszli(10005);
int n, m, cel;

int main()
{
cin>>n>>m>>cel;
int s1, s2;
for(int i=1; i<=m; i++){
    cin>>s1>>s2;
    szomszli[s1].push_back(s2);
    forditott_szomszli[s2].push_back(s1);
}
int jart[10005]={0}, forditott_jart[10005]={0};
queue<int> sor;
sor.push(cel);
jart[cel]=1;
while(!sor.empty()){
    int akt=sor.front();
    sor.pop();
    for(int i=0; i<szomszli[akt].size(); i++){
        int next=szomszli[akt][i];
        if(jart[next]==0){
            jart[next]=1;
            sor.push(next);
        }
    }
}
sor.push(cel);
forditott_jart[cel]=1;
while(!sor.empty()){
    int akt=sor.front();
    sor.pop();
    for(int i=0; i<forditott_szomszli[akt].size(); i++){
        int next=forditott_szomszli[akt][i];
        if(forditott_jart[next]==0){
            forditott_jart[next]=1;
            sor.push(next);
        }
    }
}
vector<int> megoldas;
int volt[10005]={0};
volt[cel]=1;
for(int i=1; i<=n; i++){
    if(jart[i]==1&&forditott_jart[i]==1){
        for(int j=0; j<szomszli[i].size(); j++){
                int akt=szomszli[i][j];
            if(volt[akt]==0){
                volt[akt]=1;
                megoldas.push_back(akt);
            }
        }
    }
}
cout<<megoldas.size()<<endl;
for(int i=0; i<megoldas.size(); i++){
    cout<<megoldas[i]<<" ";
}
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms1008 KiB
2Elfogadva0/020ms1840 KiB
3Elfogadva2/22ms820 KiB
4Elfogadva2/22ms820 KiB
5Elfogadva2/22ms1076 KiB
6Elfogadva2/22ms824 KiB
7Elfogadva2/22ms1076 KiB
8Elfogadva2/23ms1076 KiB
9Elfogadva2/24ms900 KiB
10Elfogadva2/24ms872 KiB
11Elfogadva2/26ms1068 KiB
12Elfogadva2/213ms1332 KiB
13Elfogadva2/212ms1332 KiB
14Elfogadva2/221ms1836 KiB
15Elfogadva3/335ms2192 KiB
16Elfogadva4/439ms2356 KiB
17Elfogadva4/454ms2876 KiB
18Elfogadva3/348ms2704 KiB
19Elfogadva3/341ms2612 KiB
20Elfogadva3/3123ms4916 KiB
21Elfogadva3/3135ms5420 KiB
22Elfogadva3/3137ms5552 KiB