結果
| 問題 |
No.1507 Road Blocked
|
| コンテスト | |
| ユーザー |
brthyyjp
|
| 提出日時 | 2021-05-18 21:02:20 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 174 ms / 2,000 ms |
| コード長 | 763 bytes |
| コンパイル時間 | 230 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 96,676 KB |
| 最終ジャッジ日時 | 2024-10-08 22:50:31 |
| 合計ジャッジ時間 | 6,249 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
ソースコード
import sys
import io, os
input = io.BytesIO(os.read(0,os.fstat(0).st_size)).readline
n = int(input())
mod = 998244353
g = [[] for i in range(n)]
for i in range(n-1):
u, v = map(int, input().split())
u, v = u-1, v-1
g[u].append(v)
g[v].append(u)
s = []
parent = [-1]*n
order = []
s.append(0)
while s:
v = s.pop()
order.append(v)
for u in g[v]:
if parent[v] == u:
continue
s.append(u)
parent[u] = v
#print(order)
order.reverse()
C = [1]*n
for v in order:
if parent[v] != -1:
C[parent[v]] += C[v]
#print(C)
p = 0
for v in order:
if parent[v] != -1:
p += C[v]*(C[v]-1)//2
p += (n-C[v])*(n-C[v]-1)//2
q = n*(n-1)//2
q *= (n-1)
k = p*pow(q, mod-2, mod)
k %= mod
print(k)
brthyyjp