提出 #71867601


ソースコード 拡げる

import sys

sys.setrecursionlimit(300000)
input = sys.stdin.readline


N = int(input())


# node_adj[u] = {value:child_node_index,...}
node_adj = [{}]
node_indices = [[]]

# input_to_trie[x] = TrieNodeIndex
input_to_trie = [0] * (N + 1)

# A0 は空列 (Trieのルート: index 0)
# A1...AN を順にTrieに追加していく
for i in range(1, N + 1):
    xi, yi = map(int, input().split())
    
    # 親となるTrieノードを取得
    parent_node = input_to_trie[xi]
    if yi in node_adj[parent_node]:
        #既存のノードへ移動(数列の内容が同じになるケース)
        curr_node = node_adj[parent_node][yi]
    else:
        # 新しいノードを作成
        curr_node = len(node_adj)
        node_adj.append({})
        node_indices.append([])
        node_adj[parent_node][yi] = curr_node

    node_indices[curr_node].append(i)
    #マッピングを保存
    input_to_trie[i] = curr_node

ans = []


def dfs(u):
    for idx in node_indices[u]:
        ans.append(idx)
    
    sorted_keys = sorted(node_adj[u].keys())
    
    for key in sorted_keys:
        next_node = node_adj[u][key]
        dfs(next_node)

# ルート(0)から探索開始
dfs(0)
print(*ans)

提出情報

提出日時
問題 E - Sort Arrays
ユーザ exophia
言語 Python (PyPy 3.11-v7.3.20)
得点 450
コード長 1259 Byte
結果 AC
実行時間 898 ms
メモリ 658432 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 450 / 450
結果
AC × 3
AC × 48
セット名 テストケース
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_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 52 ms 79616 KiB
00_sample_01.txt AC 51 ms 79832 KiB
00_sample_02.txt AC 51 ms 79664 KiB
01_test_00.txt AC 102 ms 113432 KiB
01_test_01.txt AC 285 ms 149628 KiB
01_test_02.txt AC 245 ms 135288 KiB
01_test_03.txt AC 392 ms 157064 KiB
01_test_04.txt AC 313 ms 146220 KiB
01_test_05.txt AC 494 ms 168360 KiB
01_test_06.txt AC 227 ms 137428 KiB
01_test_07.txt AC 590 ms 194340 KiB
01_test_08.txt AC 112 ms 114896 KiB
01_test_09.txt AC 640 ms 213004 KiB
01_test_10.txt AC 689 ms 217372 KiB
01_test_11.txt AC 681 ms 222748 KiB
01_test_12.txt AC 144 ms 124464 KiB
01_test_13.txt AC 692 ms 223316 KiB
01_test_14.txt AC 239 ms 144216 KiB
01_test_15.txt AC 678 ms 223984 KiB
01_test_16.txt AC 337 ms 160464 KiB
01_test_17.txt AC 674 ms 223772 KiB
01_test_18.txt AC 110 ms 115556 KiB
01_test_19.txt AC 677 ms 223360 KiB
01_test_20.txt AC 277 ms 148784 KiB
01_test_21.txt AC 277 ms 147176 KiB
01_test_22.txt AC 895 ms 658232 KiB
01_test_23.txt AC 596 ms 375364 KiB
01_test_24.txt AC 279 ms 149180 KiB
01_test_25.txt AC 324 ms 148876 KiB
01_test_26.txt AC 894 ms 658208 KiB
01_test_27.txt AC 600 ms 374788 KiB
01_test_28.txt AC 282 ms 149096 KiB
01_test_29.txt AC 441 ms 209192 KiB
01_test_30.txt AC 891 ms 658380 KiB
01_test_31.txt AC 599 ms 372944 KiB
01_test_32.txt AC 281 ms 148712 KiB
01_test_33.txt AC 458 ms 218516 KiB
01_test_34.txt AC 898 ms 658432 KiB
01_test_35.txt AC 592 ms 381332 KiB
01_test_36.txt AC 281 ms 148508 KiB
01_test_37.txt AC 454 ms 222900 KiB
01_test_38.txt AC 890 ms 657984 KiB
01_test_39.txt AC 603 ms 380684 KiB
01_test_40.txt AC 329 ms 150516 KiB
01_test_41.txt AC 442 ms 223244 KiB
01_test_42.txt AC 888 ms 658076 KiB
01_test_43.txt AC 661 ms 398856 KiB
01_test_44.txt AC 54 ms 79736 KiB