N,M,F = [int(i) for i in input().split()]
ut = [[] for i in range(N+1)]
for i in range(M):
a,b = [int(i) for i in input().split()]
ut[a].append(b)
ut[b].append(a)
sor = [F]
volt = [False]*(N+1)
volt[F] = True
lepes = [-1]*(N+1)
lepes[F] = 0
utak = []
while sor != []:
P = sor.pop(0)
for x in ut[P]:
if not volt[x]:
sor.append(x)
volt[x] = True
lepes[x] = lepes[P] + 1
utak.append([P,x])
elif lepes[x] == lepes[P] + 1:
utak.append([P,x])
print(len(utak))
for u in utak:
print(*u)
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 18/30 | ||||||
1 | Futási hiba | 0/0 | 17ms | 11104 KiB | |||
2 | Futási hiba | 0/0 | 575ms | 69104 KiB | |||
3 | Elfogadva | 1/1 | 17ms | 11840 KiB | |||
4 | Elfogadva | 1/1 | 18ms | 11868 KiB | |||
5 | Elfogadva | 1/1 | 19ms | 12380 KiB | |||
6 | Elfogadva | 1/1 | 18ms | 12168 KiB | |||
7 | Elfogadva | 1/1 | 18ms | 12404 KiB | |||
8 | Elfogadva | 1/1 | 19ms | 12820 KiB | |||
9 | Elfogadva | 2/2 | 24ms | 13780 KiB | |||
10 | Elfogadva | 2/2 | 27ms | 13968 KiB | |||
11 | Elfogadva | 2/2 | 28ms | 14192 KiB | |||
12 | Elfogadva | 2/2 | 79ms | 18636 KiB | |||
13 | Elfogadva | 2/2 | 167ms | 26400 KiB | |||
14 | Elfogadva | 2/2 | 727ms | 66220 KiB | |||
15 | Futási hiba | 0/1 | 598ms | 67024 KiB | |||
16 | Futási hiba | 0/1 | 540ms | 66904 KiB | |||
17 | Futási hiba | 0/2 | 640ms | 66764 KiB | |||
18 | Futási hiba | 0/2 | 606ms | 66808 KiB | |||
19 | Futási hiba | 0/2 | 625ms | 66896 KiB | |||
20 | Futási hiba | 0/2 | 578ms | 66944 KiB | |||
21 | Futási hiba | 0/2 | 619ms | 66680 KiB |