Submission #39432647


Source Code Expand

"""
a->b->c->dのとき
a->cが必要。そうなるとa->dも必要になる。
aからたどれる全部の頂点に結局エッジが必要になる。
こたえ
頂点ごとのたどれる個数-最初からあるエッジの個数
"""
from collections import defaultdict

graph = defaultdict(list)

def find_child_size(root):
    visited = set()
    visited.add(root)
    children = graph[root].copy()
    while len(children):
        c = children.pop()
        if c not in visited:
            visited.add(c)
            children.extend(graph[c])
    return len(visited) - 1

def main():
    N, M = map(int, input().split())

    for i in range(M):
        u, v = map(int, input().split())
        graph[u].append(v)
    
    total = 0
    for root in range(1, N+1):
        cs = find_child_size(root)
        total += cs - len(graph[root])

    print(total)

main()

Submission Info

Submission Time
Task E - Transitivity
User bugtori
Language PyPy3 (7.3.0)
Score 500
Code Size 910 Byte
Status AC
Exec Time 305 ms
Memory 76968 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 51
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_srnd_00.txt, 01_srnd_01.txt, 01_srnd_02.txt, 01_srnd_03.txt, 01_srnd_04.txt, 01_srnd_05.txt, 01_srnd_06.txt, 01_srnd_07.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 02_rnd_05.txt, 02_rnd_06.txt, 02_rnd_07.txt, 03_smallM_00.txt, 03_smallM_01.txt, 03_smallM_02.txt, 03_smallM_03.txt, 03_smallM_04.txt, 04_largeM_00.txt, 04_largeM_01.txt, 04_largeM_02.txt, 04_largeM_03.txt, 04_largeM_04.txt, 05_zero_00.txt, 06_dag_00.txt, 06_dag_01.txt, 06_dag_02.txt, 06_dag_03.txt, 06_dag_04.txt, 06_dag_05.txt, 06_dag_06.txt, 06_dag_07.txt, 06_dag_08.txt, 06_dag_09.txt, 07_path_00.txt, 07_path_01.txt, 07_path_02.txt, 07_path_03.txt, 08_perfect_00.txt, 08_perfect_01.txt, 08_perfect_02.txt, 08_perfect_03.txt, 08_perfect_04.txt, 08_perfect_05.txt, 08_perfect_06.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 69 ms 65136 KiB
00_sample_01.txt AC 54 ms 65212 KiB
00_sample_02.txt AC 56 ms 64940 KiB
01_srnd_00.txt AC 60 ms 64804 KiB
01_srnd_01.txt AC 59 ms 64912 KiB
01_srnd_02.txt AC 58 ms 65428 KiB
01_srnd_03.txt AC 59 ms 65464 KiB
01_srnd_04.txt AC 62 ms 68164 KiB
01_srnd_05.txt AC 65 ms 67764 KiB
01_srnd_06.txt AC 63 ms 68352 KiB
01_srnd_07.txt AC 67 ms 69912 KiB
02_rnd_00.txt AC 106 ms 75296 KiB
02_rnd_01.txt AC 110 ms 75292 KiB
02_rnd_02.txt AC 107 ms 75388 KiB
02_rnd_03.txt AC 102 ms 75140 KiB
02_rnd_04.txt AC 107 ms 75316 KiB
02_rnd_05.txt AC 104 ms 75148 KiB
02_rnd_06.txt AC 111 ms 75128 KiB
02_rnd_07.txt AC 105 ms 75264 KiB
03_smallM_00.txt AC 64 ms 69372 KiB
03_smallM_01.txt AC 64 ms 69428 KiB
03_smallM_02.txt AC 61 ms 69312 KiB
03_smallM_03.txt AC 64 ms 69164 KiB
03_smallM_04.txt AC 60 ms 69376 KiB
04_largeM_00.txt AC 114 ms 75456 KiB
04_largeM_01.txt AC 93 ms 74568 KiB
04_largeM_02.txt AC 110 ms 75472 KiB
04_largeM_03.txt AC 101 ms 74684 KiB
04_largeM_04.txt AC 103 ms 75348 KiB
05_zero_00.txt AC 64 ms 68984 KiB
06_dag_00.txt AC 104 ms 75516 KiB
06_dag_01.txt AC 112 ms 75380 KiB
06_dag_02.txt AC 117 ms 75740 KiB
06_dag_03.txt AC 106 ms 75432 KiB
06_dag_04.txt AC 112 ms 75428 KiB
06_dag_05.txt AC 113 ms 75412 KiB
06_dag_06.txt AC 115 ms 75628 KiB
06_dag_07.txt AC 124 ms 75212 KiB
06_dag_08.txt AC 116 ms 75188 KiB
06_dag_09.txt AC 103 ms 75356 KiB
07_path_00.txt AC 208 ms 75960 KiB
07_path_01.txt AC 305 ms 76952 KiB
07_path_02.txt AC 229 ms 76048 KiB
07_path_03.txt AC 295 ms 76968 KiB
08_perfect_00.txt AC 56 ms 64896 KiB
08_perfect_01.txt AC 61 ms 65756 KiB
08_perfect_02.txt AC 102 ms 75044 KiB
08_perfect_03.txt AC 65 ms 67700 KiB
08_perfect_04.txt AC 85 ms 74176 KiB
08_perfect_05.txt AC 86 ms 74364 KiB
08_perfect_06.txt AC 94 ms 75072 KiB