4175 2023. 03. 15 19:16:44 kristof Elágazás nélküli úton levő települések (50 pont) python3 Hibás válasz 39/50 136ms 23736 KiB
from collections import defaultdict

def elerheto(honnan, mostani):

    if mostani not in kiElerheto:
    
        kiElerheto.append(mostani)
        if len(graf[mostani]) == 2:
            if graf[mostani][0] != honnan:
                return elerheto(mostani, graf[mostani][0])
            else:
                return elerheto(mostani, graf[mostani][1])
        
        return
    else:
        return 0


beenThere = []

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

kiElerheto = []
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:
    if len(graf[i]) == 1:
        elerheto(i, graf[i][0])


print(len(kiElerheto))
print(*sorted(kiElerheto))
Részfeladat Összpont Teszt Verdikt Idő Memória
base 39/50
1 Elfogadva 0/0 20ms 12060 KiB
2 Elfogadva 0/0 136ms 20996 KiB
3 Hibás válasz 0/2 19ms 12620 KiB
4 Elfogadva 2/2 20ms 12744 KiB
5 Elfogadva 2/2 19ms 12832 KiB
6 Elfogadva 2/2 20ms 13180 KiB
7 Elfogadva 2/2 19ms 13412 KiB
8 Elfogadva 2/2 29ms 14256 KiB
9 Elfogadva 2/2 39ms 15276 KiB
10 Elfogadva 2/2 50ms 16260 KiB
11 Elfogadva 2/2 75ms 18328 KiB
12 Elfogadva 2/2 79ms 18436 KiB
13 Elfogadva 3/3 27ms 14680 KiB
14 Elfogadva 3/3 34ms 15480 KiB
15 Hibás válasz 0/3 37ms 16160 KiB
16 Hibás válasz 0/3 52ms 16744 KiB
17 Elfogadva 3/3 70ms 19140 KiB
18 Hibás válasz 0/3 75ms 19428 KiB
19 Elfogadva 3/3 90ms 20324 KiB
20 Elfogadva 3/3 133ms 23200 KiB
21 Elfogadva 3/3 136ms 23736 KiB
22 Elfogadva 3/3 134ms 23696 KiB