結果
| 問題 | 
                            No.1098 LCAs
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 2022-08-29 20:29:29 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                RE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 588 bytes | 
| コンパイル時間 | 282 ms | 
| コンパイル使用メモリ | 82,528 KB | 
| 実行使用メモリ | 114,284 KB | 
| 最終ジャッジ日時 | 2024-11-06 18:04:23 | 
| 合計ジャッジ時間 | 10,372 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 25 RE * 3 | 
ソースコード
n = int(input())
vw = [[] for i in range(n)]
for i in range(n-1):
    v,w = map(int,input().split())
    v -= 1
    w -= 1
    vw[v].append(w)
    vw[w].append(v)
dp = [0]*n
chk = [0]*n
ans = [0]*n
def dfs(v,pre):
    if chk[v] == 1:
        return dp[v]
    tmp = 1
    rui2 = 0
    for i in range(len(vw[v])):
        if vw[v][i] == pre:
            continue
        t = dfs(vw[v][i],v)
        dp[v] += t
        tmp += t
        rui2 += t**2
        chk[v] = 1
    dp[v] += 1
    ans[v] = tmp**2-rui2
    return dp[v]
dfs(0,-1)
#print(dp)
print(*ans,sep="\n")
#for i in range(n):