結果
問題 | No.2638 Initial fare |
ユーザー |
![]() |
提出日時 | 2024-11-11 15:56:14 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 342 ms / 2,000 ms |
コード長 | 559 bytes |
コンパイル時間 | 13,764 ms |
コンパイル使用メモリ | 224,448 KB |
実行使用メモリ | 64,768 KB |
最終ジャッジ日時 | 2024-11-11 15:56:35 |
合計ジャッジ時間 | 19,125 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 |
ソースコード
package main import . "fmt" import . "os" import bf "bufio" func main() { rd:=bf.NewReader(Stdin) var n int Fscan(rd,&n) tree:=make([][]int,n+1) for e:=0;e<n-1;e++ { var u,v int Fscan(rd,&u,&v) tree[u]=append(tree[u],v) tree[v]=append(tree[v],u) } visited:=make([]bool,n+1) var ans int var dfs func(t int) (a,b,c int) dfs = func(t int) (a,b,c int){ visited[t]=true a=1 for _,k:=range tree[t] { if visited[k] { continue } x,y,z:=dfs(k) ans+=(a+b+c)*x+(a+b)*y+a*z b+=x c+=y } return } dfs(1) Println(ans) }