提出 #26352819
ソースコード 拡げる
N = gets.to_i
P = 998244353
E = Array.new(N+1){[]}
$<.each{|ln|
u,v = ln.split.map(&:to_i)
E[u]<<v
E[v]<<u
}
Ds = lambda{|s,p=s|
ds = [-1]+[nil]*N
ds[p],ds[s] = -1,0
*q = s
while u = q.pop
d = ds[u]+1
E[u].each{|v|
next if ds[v]
ds[v] = d
q << v
}
end
next ds
}
Ds1 = Ds[1]
Vd1 = (1..N).max_by{|v| Ds1[v] }
DsVd1 = Ds[Vd1]
Vd2 = (1..N).max_by{|v| DsVd1[v] }
DsVd2 = Ds[Vd2]
D = DsVd1[Vd2]
if D&1<1
Vc = (1..N).find{|v| DsVd1[v]+DsVd2[v]==D }
Eds = E[Vc].filter_map{|v;n| n if 0<n = Ds[v,Vc].count(D/2-1) }
p (Eds.inject(1){|a,n| a*(n+1)%P }-1-Eds.sum)%P
else
Vc1,Vc2 = (1..N).find_all{|v|
DsVd1[v]+DsVd2[v]==D && ([DsVd1[v],DsVd2[v]]&[D/2,(D+1)/2]).size==2
}
p Ds[Vc1,Vc2].count(D/2)*Ds[Vc2,Vc1].count(D/2)%P
end
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Diameter set |
| ユーザ | ds14050 |
| 言語 | Ruby (2.7.1) |
| 得点 | 0 |
| コード長 | 787 Byte |
| 結果 | WA |
| 実行時間 | 570 ms |
| メモリ | 84516 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 500 | ||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | example_00.txt, example_01.txt |
| All | even_random_00.txt, even_random_01.txt, even_random_02.txt, even_random_03.txt, even_random_04.txt, even_random_05.txt, even_random_06.txt, even_random_07.txt, even_random_08.txt, even_random_09.txt, even_random_10.txt, even_random_11.txt, even_random_12.txt, even_random_13.txt, even_random_14.txt, example_00.txt, example_01.txt, hand_00.txt, hand_01.txt, hand_02.txt, hand_03.txt, hand_04.txt, hand_05.txt, hand_06.txt, hand_07.txt, odd_random_00.txt, odd_random_01.txt, odd_random_02.txt, odd_random_03.txt, odd_random_04.txt, odd_random_05.txt, random_00.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| even_random_00.txt | WA | 516 ms | 45400 KiB |
| even_random_01.txt | WA | 506 ms | 45260 KiB |
| even_random_02.txt | WA | 489 ms | 45828 KiB |
| even_random_03.txt | WA | 512 ms | 46708 KiB |
| even_random_04.txt | WA | 499 ms | 45320 KiB |
| even_random_05.txt | WA | 546 ms | 65732 KiB |
| even_random_06.txt | WA | 516 ms | 46804 KiB |
| even_random_07.txt | WA | 511 ms | 45328 KiB |
| even_random_08.txt | WA | 483 ms | 46152 KiB |
| even_random_09.txt | WA | 505 ms | 44664 KiB |
| even_random_10.txt | WA | 537 ms | 49348 KiB |
| even_random_11.txt | WA | 540 ms | 50616 KiB |
| even_random_12.txt | WA | 552 ms | 45792 KiB |
| even_random_13.txt | WA | 514 ms | 47468 KiB |
| even_random_14.txt | WA | 503 ms | 45976 KiB |
| example_00.txt | AC | 56 ms | 14036 KiB |
| example_01.txt | AC | 60 ms | 14228 KiB |
| hand_00.txt | AC | 59 ms | 14216 KiB |
| hand_01.txt | WA | 467 ms | 46120 KiB |
| hand_02.txt | AC | 493 ms | 48828 KiB |
| hand_03.txt | AC | 59 ms | 14064 KiB |
| hand_04.txt | AC | 522 ms | 41052 KiB |
| hand_05.txt | WA | 458 ms | 42420 KiB |
| hand_06.txt | WA | 468 ms | 42524 KiB |
| hand_07.txt | WA | 401 ms | 38216 KiB |
| odd_random_00.txt | AC | 511 ms | 49184 KiB |
| odd_random_01.txt | AC | 517 ms | 49924 KiB |
| odd_random_02.txt | AC | 529 ms | 49732 KiB |
| odd_random_03.txt | AC | 509 ms | 50044 KiB |
| odd_random_04.txt | AC | 529 ms | 49892 KiB |
| odd_random_05.txt | AC | 543 ms | 42064 KiB |
| random_00.txt | AC | 511 ms | 49944 KiB |
| random_01.txt | WA | 556 ms | 71756 KiB |
| random_02.txt | WA | 538 ms | 65596 KiB |
| random_03.txt | AC | 508 ms | 49924 KiB |
| random_04.txt | WA | 494 ms | 49792 KiB |
| random_05.txt | WA | 570 ms | 84516 KiB |