192312025-12-02 10:09:49birozsTáblás játékpython3Hibás válasz 10/50601ms23200 KiB
N,M = map(int,input().split())
Honnan = {}
Hova = {}
for i in range(1,N+1):
    Honnan[i] = []
    Hova[i] = []
for i in range(M):
    A,B = map(int,input().split())
    Honnan[B].append(A)
    Hova[A].append(B)
Tav = [0] * (N+1)

for kezdo,lista in Honnan.items():
    if not lista:
        Tav[kezdo] = 1
        sor = [kezdo]
        while sor:
            akt = sor.pop()
            for kovetkezo in Hova[akt]:
                if Tav[kovetkezo] == 0:
                    sor.append(kovetkezo)
                    Tav[kovetkezo] = Tav[akt] + 1
hossz = max(Tav)
Szint = {}
for i in range(1,hossz+1):
    Szint[i] = []
for i in range(1,N+1):
    Szint[Tav[i]].append(i)
Csomopont = []
for lista in Szint.values():
    if len(lista) == 1:
        Csomopont.append(lista[0])
print(2*hossz-len(Csomopont))
Kezdo = Szint[1]
Cel = Szint[hossz]
akt = Kezdo[0]
Elso = [akt]
while akt not in Cel:
    akt = Hova[akt][0]
    Elso.append(akt)
Elso.append(0)
print(*Elso)
Talal = False
for csucs in Kezdo:
    if csucs not in Elso or csucs in Csomopont:
        sor = [csucs]
        H = [0] * (N+1)
        while sor and not Talal:
            akt = sor.pop()
            for x in Hova[akt]:
                if Tav[x] == hossz and (x not in Elso or x in Csomopont):
                    Talal = True
                    Masodik = str(akt) + " " + str(x) + " 0"
                    while H[akt] != 0:
                        Masodik = str(H[akt]) + " " + Masodik
                        akt = H[akt]
                if x not in Elso or x in Csomopont:
                    sor.append(x)
                    H[x] = akt
    if Talal:
        print(Masodik)
        break

RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva16ms3124 KiB
2Hibás válasz317ms23200 KiB
subtask20/5
3Elfogadva17ms3128 KiB
4Elfogadva17ms3124 KiB
5Elfogadva17ms3116 KiB
6Elfogadva17ms3124 KiB
7Hibás válasz16ms3168 KiB
subtask30/5
8Elfogadva17ms3312 KiB
9Hibás válasz17ms3128 KiB
10Elfogadva17ms3320 KiB
11Elfogadva17ms3124 KiB
12Elfogadva17ms3380 KiB
subtask40/5
13Hibás válasz17ms3124 KiB
14Elfogadva17ms3124 KiB
15Elfogadva24ms3892 KiB
16Hibás válasz25ms3908 KiB
17Hibás válasz64ms8164 KiB
subtask510/10
18Elfogadva17ms3108 KiB
19Elfogadva17ms3116 KiB
20Elfogadva17ms3120 KiB
21Elfogadva17ms3112 KiB
22Elfogadva17ms3116 KiB
23Elfogadva17ms3364 KiB
24Elfogadva17ms3388 KiB
25Elfogadva19ms3384 KiB
26Elfogadva20ms3536 KiB
27Elfogadva168ms16720 KiB
subtask60/10
28Elfogadva16ms3312 KiB
29Hibás válasz16ms3356 KiB
30Hibás válasz17ms3124 KiB
31Hibás válasz17ms3124 KiB
32Hibás válasz17ms3312 KiB
33Hibás válasz17ms3368 KiB
34Elfogadva17ms3564 KiB
35Hibás válasz18ms3376 KiB
36Elfogadva19ms3580 KiB
37Hibás válasz168ms16476 KiB
subtask70/15
38Elfogadva24ms3880 KiB
39Hibás válasz48ms5520 KiB
40Hibás válasz277ms20752 KiB
41Hibás válasz268ms19668 KiB
42Elfogadva186ms12636 KiB
43Hibás válasz127ms11100 KiB
44Időlimit túllépés583ms9816 KiB
45Elfogadva39ms4796 KiB
46Időlimit túllépés580ms10328 KiB
47Hibás válasz221ms17104 KiB
48Időlimit túllépés601ms6520 KiB
49Elfogadva21ms3636 KiB
50Elfogadva119ms8608 KiB
51Hibás válasz230ms18384 KiB
52Elfogadva284ms20360 KiB