結果
問題 |
No.778 クリスマスツリー
|
ユーザー |
![]() |
提出日時 | 2019-05-02 00:55:13 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,083 bytes |
コンパイル時間 | 136 ms |
コンパイル使用メモリ | 12,928 KB |
実行使用メモリ | 452,920 KB |
最終ジャッジ日時 | 2024-12-31 12:48:46 |
合計ジャッジ時間 | 19,663 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 3 WA * 1 RE * 3 TLE * 5 |
ソースコード
class Node: def __init__(self): #self.parent_Node = None self.child_Node = [] self.flag = False self.fix = False self.all_child = [] def fix_all_child(self): if self.fix: return self.all_child self.all_child = self.child_Node for node in self.child_Node: self.all_child.extend(node.fix_all_child()) self.fix = True return self.all_child class tree: def __init__(self, Nodes): self.Nodes = Nodes def push_edge(self,low, upper): self.Nodes[upper].child_Node.append(self.Nodes[low]) #self.Nodes[low].parent_Node = self.Nodes[upper] def fix_all_child(self, Node_idx): self.Nodes[Node_idx].fix_all_child() N = int(input()) A = map(int, input().split()) t = tree([Node() for i in range(N)]) for idx, a in enumerate(A): t.push_edge(idx + 1, a) t.fix_all_child(0) num = 0 for i in range(N-1, -1, -1): num+=sum([1 if node.flag else 0 for node in t.Nodes[i].all_child]) t.Nodes[i].flag = True print(num)