Edit

【pythonでABC163を解説】C - management

問題概要

問題ページ

問題文

\(N\) 人の社員からなる会社があり、各社員には \(1,...,N\) の社員番号が割り当てられています。

社員番号 \(1\) の社員以外の全ての社員には、自分より社員番号が小さい直属の上司がちょうど \(1\) 人います。

\(X\) さんが \(Y\) さんの直属の上司であるとき、\(Y\) さんは \(X\) さんの直属の部下であるといいます。

社員番号 \(i\) の社員の直属の上司の社員番号が \(A_i\) であることが与えられます。各社員について直属の部下が何人いるか求めてください。

制約

  • \(2 \leq N \leq 2 \times 10^5\)
  • \(1 \leq A_i < i\)

問題の考察

ACコード

import sys


def solve():
    input = sys.stdin.readline
    mod = 10 ** 9 + 7
    n = int(input().rstrip('\n'))
    ls = [0] * n
    a = list(map(int, input().rstrip('\n').split()))
    for v in a:
        ls[v - 1] += 1
    print(*ls, sep="\n")


if __name__ == '__main__':
    solve()

プログラミング

-Edit