Submission #1530852


Source Code Expand

from collections import defaultdict
from itertools import product


memo = {}
def dfs(i, g):
    if i in memo:
        return memo[i]
    
    l = [dfs(b, g) for b in g[i]]
    if len(l) == 0:
        memo[i] = 1
    else:
        memo[i] = max(l) + min(l) + 1

    return memo[i]


def main():
    N = int(input())
    g = defaultdict(list)
    for i in range(N - 1):
        g[int(input())].append(i + 2)
    print(dfs(1, g))


if __name__ == '__main__':
    main()

Submission Info

Submission Time
Task C - 高橋君の給料
User MitI_7
Language Python (3.4.3)
Score 100
Code Size 496 Byte
Status AC
Exec Time 20 ms
Memory 3316 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 4
AC × 22
Set Name Test Cases
Sample example_0.txt, example_1.txt, example_2.txt, example_3.txt
All example_0.txt, example_1.txt, example_2.txt, example_3.txt, maxrand_0.txt, maxrand_1.txt, maxrand_2.txt, random_0.txt, random_1.txt, random_2.txt, random_3.txt, random_4.txt, random_5.txt, random_6.txt, random_7.txt, random_8.txt, random_9.txt, special_0.txt, example_0.txt, example_1.txt, example_2.txt, example_3.txt
Case Name Status Exec Time Memory
example_0.txt AC 20 ms 3316 KB
example_1.txt AC 20 ms 3316 KB
example_2.txt AC 20 ms 3316 KB
example_3.txt AC 20 ms 3316 KB
maxrand_0.txt AC 20 ms 3316 KB
maxrand_1.txt AC 20 ms 3316 KB
maxrand_2.txt AC 20 ms 3316 KB
random_0.txt AC 20 ms 3316 KB
random_1.txt AC 20 ms 3316 KB
random_2.txt AC 20 ms 3316 KB
random_3.txt AC 20 ms 3316 KB
random_4.txt AC 20 ms 3316 KB
random_5.txt AC 20 ms 3316 KB
random_6.txt AC 20 ms 3316 KB
random_7.txt AC 20 ms 3316 KB
random_8.txt AC 20 ms 3316 KB
random_9.txt AC 20 ms 3316 KB
special_0.txt AC 20 ms 3316 KB