91682024-02-16 18:52:17NagyLeoTestnevelés órapython3Futási hiba 7/50944ms82388 KiB
from sys import stdin, stdout
input=stdin.readline


def solv():
    N, K = map(int, input().split())
    graph = [[] for i in range(N + 1)]
    indeg = [0] * (N + 1)

    for i in range(K):
        a, b = map(int, input().split())
        graph[a].append(b)
        indeg[b] += 1

    zero = []
    #   a --> b --> 2 <-- c
    #     \-> d
    for i in range(1, N + 1):
        if indeg[i] == 0:
            zero.append(i)
    # print(parents)
    result = [zero[:]]
    seen = len(zero)
    while zero:
        tmp = []
        for i in zero:
            for j in graph[i]:
                indeg[j] -= 1
                if indeg[j] == 0:
                    tmp.append(j)
        if tmp:
            result.append(tmp[:])
            seen += len(tmp)
        zero = tmp

    # print(result,graph)
    if seen != N:
        print("0")
        return
    if len(result) == N:
        print("1")
        for i in result:
            print(*i, end=" ")
    else:
        # result=[ [1,2,3], [4,5]]
        print("2")
        for i in result:
            print(*i, end=" ")
        print()
        for i[::-1] in result:
            print(*i[::-1], end=" ")


solv()
RészfeladatÖsszpontTesztVerdiktIdőMemória
base7/50
1Elfogadva0/017ms11444 KiB
2Futási hiba0/018ms11948 KiB
3Futási hiba0/0435ms49452 KiB
4Futási hiba0/217ms12364 KiB
5Futási hiba0/318ms12628 KiB
6Futási hiba0/318ms13060 KiB
7Futási hiba0/317ms13016 KiB
8Elfogadva1/117ms13048 KiB
9Futási hiba0/318ms12968 KiB
10Futási hiba0/323ms13616 KiB
11Futási hiba0/325ms13932 KiB
12Elfogadva1/123ms13768 KiB
13Elfogadva2/224ms14156 KiB
14Futási hiba0/320ms14236 KiB
15Elfogadva1/1453ms47708 KiB
16Futási hiba0/3421ms55824 KiB
17Futási hiba0/5228ms66980 KiB
18Futási hiba0/1616ms80576 KiB
19Elfogadva2/2469ms49072 KiB
20Futási hiba0/3944ms82312 KiB
21Futási hiba0/4898ms82388 KiB
22Futási hiba0/4768ms82336 KiB