結果
問題 | No.806 木を道に |
ユーザー |
![]() |
提出日時 | 2019-04-07 15:32:52 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 878 ms / 2,000 ms |
コード長 | 741 bytes |
コンパイル時間 | 218 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 52,136 KB |
最終ジャッジ日時 | 2024-06-27 04:27:00 |
合計ジャッジ時間 | 10,993 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 27 |
ソースコード
class Node: def __init__(self): self.edge=[] self.degree=0 def add_edge(self,new_edge): self.edge.append(new_edge) self.degree+=1 class Edge: def __init__(self,node_a,node_b): node_a.add_edge(self) node_b.add_edge(self) self.node=(node_a,node_b) class Graph: def __init__(self): self.node={} self.edge=[] def add_edge(self,new_edge): if not new_edge[0] in self.node: self.node[new_edge[0]]=Node() if not new_edge[1] in self.node: self.node[new_edge[1]]=Node() self.edge.append(Edge(self.node[new_edge[0]],self.node[new_edge[1]])) n=int(input()) g=Graph() for i in range(n-1): g.add_edge(list(map(int,input().split()))) c=-2 for i in g.node: if g.node[i].degree==1: c+=1 print(c)