41712023-03-15 19:09:57kristofElágazás nélküli úton levő települések (50 pont)python3Hibás válasz 0/50136ms23676 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((kiElerheto))
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Hibás válasz0/019ms12076 KiB
2Hibás válasz0/0136ms20968 KiB
3Futási hiba0/220ms12600 KiB
4Hibás válasz0/219ms12800 KiB
5Hibás válasz0/220ms12984 KiB
6Futási hiba0/219ms13048 KiB
7Hibás válasz0/220ms12948 KiB
8Hibás válasz0/229ms13684 KiB
9Hibás válasz0/237ms14816 KiB
10Hibás válasz0/250ms16236 KiB
11Hibás válasz0/278ms17916 KiB
12Hibás válasz0/276ms18160 KiB
13Hibás válasz0/327ms14712 KiB
14Futási hiba0/332ms15496 KiB
15Futási hiba0/335ms16200 KiB
16Futási hiba0/337ms16612 KiB
17Futási hiba0/368ms18704 KiB
18Futási hiba0/371ms19012 KiB
19Hibás válasz0/387ms20404 KiB
20Hibás válasz0/3130ms23348 KiB
21Hibás válasz0/3136ms23676 KiB
22Hibás válasz0/3134ms23548 KiB