41702023-03-15 18:59:52kristofElágazás nélküli úton levő települések (50 pont)python3Időlimit túllépés 28/50263ms23320 KiB
from collections import defaultdict



beenThere = []

n, m = list(map(int, input().split()))
graf = defaultdict(list)

kiElerheto = set()
kiSzamlalo = 0


#todo Is there a way without array?
arr = [0 for i in range(n)]

for i in range(m):
    honnan1, hova = list(map(int, input().split()))

    graf[honnan1].append(hova)
    graf[hova].append(honnan1)

    arr[honnan1-1] += 1
    arr[hova-1] += 1

zsakfalvak = []
zsakfalvak = [i+1 for i, value in enumerate(arr) if value == 1]

for i in zsakfalvak:
    l = graf[i][0]
    kiElerheto.add(l)
    while len(graf[l]) <= 2:
        if graf[l][0] != i:
            kiElerheto.add(graf[l][0])
            l = graf[l][0]
            i = l
        else:
            kiElerheto.add(graf[l][1])
            l = graf[l][1]
            i = l


print(len(kiElerheto))
print(*sorted(kiElerheto))
RészfeladatÖsszpontTesztVerdiktIdőMemória
base28/50
1Elfogadva0/019ms11916 KiB
2Elfogadva0/0136ms20676 KiB
3Időlimit túllépés0/2228ms4584 KiB
4Elfogadva2/219ms12680 KiB
5Elfogadva2/219ms12488 KiB
6Futási hiba0/219ms13056 KiB
7Elfogadva2/219ms13316 KiB
8Elfogadva2/229ms13976 KiB
9Elfogadva2/237ms14752 KiB
10Elfogadva2/250ms15712 KiB
11Elfogadva2/275ms17992 KiB
12Elfogadva2/279ms18132 KiB
13Időlimit túllépés0/3263ms6276 KiB
14Időlimit túllépés0/3261ms6848 KiB
15Futási hiba0/335ms15952 KiB
16Futási hiba0/337ms16068 KiB
17Időlimit túllépés0/3238ms8560 KiB
18Futási hiba0/370ms18992 KiB
19Elfogadva3/385ms20128 KiB
20Elfogadva3/3128ms23012 KiB
21Elfogadva3/3136ms23220 KiB
22Elfogadva3/3136ms23320 KiB