Submission #50189012
Source Code Expand
P = 998244353
N = gets.to_i
A = gets.split.map(&:to_i)
E = Array.new(N){{}}
(N-1).times{
u,v = gets.split.map{_1.to_i-1}
E[u][v] = v
E[v][u] = u
}
if N<2
p 1
exit
end
X = [nil]*N
C = Array.new(N){[]}
Q = N.times.select{|a| E[a].size==1 }
while u = Q.shift
v, = E[u].shift
X[u] = C[u].sum{|a2t| a2t[A[u]] }
C[u].sort_by!(&:size)
a2t = C[u].pop||Hash.new(0)
C[u].each{|_|
_.each{|a,t|
a2t[a] = ((a2t[a]+1)*(t+1)-1)%P
}
}.clear
a2t[A[u]] += 1
break unless v
C[v]<<a2t
E[v].delete u
Q<<v if E[v].size==1
end
p (X.sum+a2t.values.sum)%P
Submission Info
| Submission Time | |
|---|---|
| Task | G - Leaf Color |
| User | ds14050 |
| Language | Ruby (ruby 3.2.2) |
| Score | 600 |
| Code Size | 591 Byte |
| Status | AC |
| Exec Time | 1023 ms |
| Memory | 127188 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 01_small_05.txt, 01_small_06.txt, 01_small_07.txt, 01_small_08.txt, 01_small_09.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 02_random_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt, 02_random_20.txt, 02_random_21.txt, 02_random_22.txt, 02_random_23.txt, 02_random_24.txt, 02_random_25.txt, 02_random_26.txt, 02_random_27.txt, 02_random_28.txt, 02_random_29.txt, 03_star_00.txt, 03_star_01.txt, 03_star_02.txt, 03_star_03.txt, 03_star_04.txt, 04_path_00.txt, 04_path_01.txt, 04_path_02.txt, 04_path_03.txt, 04_path_04.txt, 05_corner_00.txt, 05_corner_01.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 133 ms | 17212 KiB |
| 00_sample_01.txt | AC | 46 ms | 17108 KiB |
| 00_sample_02.txt | AC | 46 ms | 17284 KiB |
| 01_small_00.txt | AC | 46 ms | 17220 KiB |
| 01_small_01.txt | AC | 46 ms | 17272 KiB |
| 01_small_02.txt | AC | 45 ms | 16796 KiB |
| 01_small_03.txt | AC | 46 ms | 17200 KiB |
| 01_small_04.txt | AC | 46 ms | 17232 KiB |
| 01_small_05.txt | AC | 47 ms | 17044 KiB |
| 01_small_06.txt | AC | 45 ms | 17124 KiB |
| 01_small_07.txt | AC | 46 ms | 17080 KiB |
| 01_small_08.txt | AC | 47 ms | 17232 KiB |
| 01_small_09.txt | AC | 45 ms | 16920 KiB |
| 02_random_00.txt | AC | 571 ms | 72820 KiB |
| 02_random_01.txt | AC | 983 ms | 111036 KiB |
| 02_random_02.txt | AC | 990 ms | 112100 KiB |
| 02_random_03.txt | AC | 986 ms | 109756 KiB |
| 02_random_04.txt | AC | 522 ms | 68936 KiB |
| 02_random_05.txt | AC | 939 ms | 96308 KiB |
| 02_random_06.txt | AC | 979 ms | 110824 KiB |
| 02_random_07.txt | AC | 948 ms | 101784 KiB |
| 02_random_08.txt | AC | 762 ms | 89980 KiB |
| 02_random_09.txt | AC | 890 ms | 92552 KiB |
| 02_random_10.txt | AC | 999 ms | 112368 KiB |
| 02_random_11.txt | AC | 958 ms | 102452 KiB |
| 02_random_12.txt | AC | 145 ms | 30388 KiB |
| 02_random_13.txt | AC | 959 ms | 102460 KiB |
| 02_random_14.txt | AC | 1007 ms | 119932 KiB |
| 02_random_15.txt | AC | 995 ms | 111452 KiB |
| 02_random_16.txt | AC | 832 ms | 95672 KiB |
| 02_random_17.txt | AC | 1023 ms | 127188 KiB |
| 02_random_18.txt | AC | 905 ms | 92444 KiB |
| 02_random_19.txt | AC | 983 ms | 111600 KiB |
| 02_random_20.txt | AC | 128 ms | 30236 KiB |
| 02_random_21.txt | AC | 907 ms | 92512 KiB |
| 02_random_22.txt | AC | 883 ms | 92552 KiB |
| 02_random_23.txt | AC | 947 ms | 100808 KiB |
| 02_random_24.txt | AC | 270 ms | 42388 KiB |
| 02_random_25.txt | AC | 933 ms | 99616 KiB |
| 02_random_26.txt | AC | 957 ms | 102932 KiB |
| 02_random_27.txt | AC | 919 ms | 95620 KiB |
| 02_random_28.txt | AC | 141 ms | 31088 KiB |
| 02_random_29.txt | AC | 989 ms | 111660 KiB |
| 03_star_00.txt | AC | 826 ms | 125800 KiB |
| 03_star_01.txt | AC | 841 ms | 126592 KiB |
| 03_star_02.txt | AC | 844 ms | 126152 KiB |
| 03_star_03.txt | AC | 847 ms | 125968 KiB |
| 03_star_04.txt | AC | 832 ms | 125996 KiB |
| 04_path_00.txt | AC | 503 ms | 79520 KiB |
| 04_path_01.txt | AC | 738 ms | 84200 KiB |
| 04_path_02.txt | AC | 515 ms | 80460 KiB |
| 04_path_03.txt | AC | 698 ms | 81120 KiB |
| 04_path_04.txt | AC | 507 ms | 79844 KiB |
| 05_corner_00.txt | AC | 576 ms | 92424 KiB |
| 05_corner_01.txt | AC | 827 ms | 126060 KiB |