Submission #26353052
Source Code Expand
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]==D/2 && DsVd2[v]==D/2 }
Eds = E[Vc].map{|v| 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
Submission Info
| Submission Time | |
|---|---|
| Task | F - Diameter set |
| User | ds14050 |
| Language | Ruby (2.7.1) |
| Score | 0 |
| Code Size | 777 Byte |
| Status | TLE |
| Exec Time | 2208 ms |
| Memory | 116944 KiB |
Judge Result
| Set Name | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 500 | ||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| 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 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| even_random_00.txt | AC | 613 ms | 88208 KiB |
| even_random_01.txt | AC | 640 ms | 91184 KiB |
| even_random_02.txt | AC | 1371 ms | 115120 KiB |
| even_random_03.txt | TLE | 2208 ms | 116944 KiB |
| even_random_04.txt | TLE | 2208 ms | 115372 KiB |
| even_random_05.txt | AC | 553 ms | 71976 KiB |
| even_random_06.txt | AC | 631 ms | 84096 KiB |
| even_random_07.txt | AC | 1894 ms | 114724 KiB |
| even_random_08.txt | TLE | 2208 ms | 111856 KiB |
| even_random_09.txt | TLE | 2208 ms | 114472 KiB |
| even_random_10.txt | AC | 525 ms | 58704 KiB |
| even_random_11.txt | AC | 563 ms | 66100 KiB |
| even_random_12.txt | TLE | 2208 ms | 116632 KiB |
| even_random_13.txt | TLE | 2208 ms | 116596 KiB |
| even_random_14.txt | TLE | 2208 ms | 111948 KiB |
| example_00.txt | AC | 61 ms | 14088 KiB |
| example_01.txt | AC | 56 ms | 14060 KiB |
| hand_00.txt | AC | 60 ms | 14268 KiB |
| hand_01.txt | TLE | 2208 ms | 111800 KiB |
| hand_02.txt | AC | 515 ms | 48640 KiB |
| hand_03.txt | AC | 57 ms | 14244 KiB |
| hand_04.txt | AC | 557 ms | 40936 KiB |
| hand_05.txt | AC | 1940 ms | 113660 KiB |
| hand_06.txt | AC | 526 ms | 45684 KiB |
| hand_07.txt | TLE | 2208 ms | 111300 KiB |
| odd_random_00.txt | AC | 490 ms | 49036 KiB |
| odd_random_01.txt | AC | 511 ms | 49784 KiB |
| odd_random_02.txt | AC | 543 ms | 49708 KiB |
| odd_random_03.txt | AC | 529 ms | 49936 KiB |
| odd_random_04.txt | AC | 551 ms | 49852 KiB |
| odd_random_05.txt | AC | 563 ms | 42164 KiB |
| random_00.txt | AC | 528 ms | 49820 KiB |
| random_01.txt | AC | 597 ms | 84052 KiB |
| random_02.txt | AC | 665 ms | 86600 KiB |
| random_03.txt | AC | 510 ms | 49812 KiB |
| random_04.txt | AC | 583 ms | 84276 KiB |
| random_05.txt | AC | 600 ms | 81368 KiB |