2904 | 2023. 02. 02 13:05:35 | gontermark | Adószedő | cpp17 | Elfogadva 30/30 | 569ms | 17324 KiB |
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int main()
{
int n, m, fo;
cin >> n >> m >> fo;
int a, b;
vector<int> csl[n+1];
for(int i=0;i<m;i++)
{
cin >> a >> b;
csl[a].push_back(b);
csl[b].push_back(a);
}
queue<int> szurke;
vector<int> t2;
t2.resize(n+1);
szurke.push(fo);
t2[fo]=1;
int p;
vector<int> kezd;
vector<int> veg;
int tav[n+1];
tav[fo]=0;
while(!szurke.empty())
{
p=szurke.front();
szurke.pop();
t2[p]=2;
for(int i=0; i<csl[p].size();i++)
{
if(t2[csl[p][i]]==0)
{
t2[csl[p][i]]=1;
szurke.push(csl[p][i]);
kezd.push_back(p);
veg.push_back(csl[p][i]);
tav[csl[p][i]]=tav[p]+1;
}
else if(csl[p][i]!=p)
{
if(tav[p]+1==tav[csl[p][i]])
{
kezd.push_back(p);
veg.push_back(csl[p][i]);
}
}
}
}
cout << kezd.size() << endl;
for(int i=0;i<kezd.size();i++)
{
cout <<kezd[i] << " " << veg[i] << endl;
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 30/30 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1812 KiB | |||
2 | Elfogadva | 0/0 | 296ms | 12032 KiB | |||
3 | Elfogadva | 1/1 | 3ms | 2148 KiB | |||
4 | Elfogadva | 1/1 | 3ms | 2424 KiB | |||
5 | Elfogadva | 1/1 | 3ms | 2568 KiB | |||
6 | Elfogadva | 1/1 | 3ms | 2784 KiB | |||
7 | Elfogadva | 1/1 | 3ms | 2936 KiB | |||
8 | Elfogadva | 1/1 | 3ms | 3176 KiB | |||
9 | Elfogadva | 2/2 | 4ms | 3484 KiB | |||
10 | Elfogadva | 2/2 | 4ms | 3464 KiB | |||
11 | Elfogadva | 2/2 | 7ms | 3588 KiB | |||
12 | Elfogadva | 2/2 | 37ms | 4352 KiB | |||
13 | Elfogadva | 2/2 | 59ms | 5620 KiB | |||
14 | Elfogadva | 2/2 | 254ms | 11984 KiB | |||
15 | Elfogadva | 1/1 | 412ms | 16396 KiB | |||
16 | Elfogadva | 1/1 | 338ms | 13500 KiB | |||
17 | Elfogadva | 2/2 | 569ms | 16580 KiB | |||
18 | Elfogadva | 2/2 | 319ms | 16056 KiB | |||
19 | Elfogadva | 2/2 | 430ms | 16520 KiB | |||
20 | Elfogadva | 2/2 | 458ms | 17052 KiB | |||
21 | Elfogadva | 2/2 | 558ms | 17324 KiB |