結果
| 問題 | No.2638 Initial fare |
| コンテスト | |
| ユーザー |
ID 21712
|
| 提出日時 | 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)
}
ID 21712