Submission #4817029
Source Code Expand
N = gets.to_i
es = {}
(N-1).times{
a,b = gets.split.map &:to_i
es[a] ||= {}; es[b] ||= {}
es[a][b] = es[b][a] = 1
}
ranges = Array.new(N+1,nil)
parities = Array.new(N+1,nil)
K = gets.to_i
K.times {
v,q = gets.split.map &:to_i
ranges[v] = [q,q]
parities[v] = q%2
}
queue = [[1,0]]
while queue.size > 0 do
n,s = queue.pop
case s
when 0
queue << [n,1]
ks = es[n]
ks.each{ |m,_|
es[m].delete(n)
queue << [m,0]
}
when 1
r = ranges[n]
q = parities[n]
rs = es[n].keys.map{ |m| ranges[m] }.compact.map{ |a,b| [a-1,b+1] }
qs = es[n].keys.map{ |m| parities[m] }.compact.map{ |q| q ^ 1 }
if r && q
rs << r
qs << q
end
if qs.uniq.size > 1
puts "No"; exit
end
next if qs.size == 0 # rs.size == 0
rmin = rs.map{ |a,b| a }.max
rmax = rs.map{ |a,b| b }.min
if rmax < rmin
puts "No"; exit
end
ranges[n] = [rmin, rmax]
parities[n] = qs[0]
end
end
puts "Yes"
numbers = Array.new(N+1, nil)
queue = [[1,nil]]
INF = 10**9
while queue.size > 0 do
n,w = queue.pop
vs = []
if w
vs << w-1
vs << w+1
end
range = ranges[n]
if range
vs << range[0]
end
v = range ? vs.find{ |v| range[0] <= v && v <= range[1] } : vs[0]
numbers[n] = v
es[n].each{ |m,_|
queue << [m,v]
}
end
puts numbers[1..-1]
Submission Info
| Submission Time | |
|---|---|
| Task | E - Integers on a Tree |
| User | Corvvs |
| Language | Ruby (2.3.3) |
| Score | 800 |
| Code Size | 1412 Byte |
| Status | AC |
| Exec Time | 1165 ms |
| Memory | 68848 KiB |
Compile Error
./Main.rb:4: warning: `&' interpreted as argument prefix ./Main.rb:12: warning: `&' interpreted as argument prefix ./Main.rb:32: warning: shadowing outer local variable - q ./Main.rb:66: warning: shadowing outer local variable - v
Judge Result
| Set Name | sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 800 / 800 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| sample | sample_01.txt, sample_02.txt, sample_03.txt |
| All | binary_01.txt, binary_02.txt, hand_01.txt, hand_02.txt, hand_03.txt, kary_01.txt, kary_02.txt, kary_03.txt, line_01.txt, line_02.txt, line_03.txt, line_04.txt, line_05.txt, line_06.txt, random0_01.txt, random1_01.txt, random1_02.txt, random1_03.txt, random1_04.txt, random1_05.txt, random1_06.txt, random1_07.txt, random1_08.txt, random2_01.txt, random2_02.txt, random2_03.txt, random2_04.txt, random2_05.txt, random2_06.txt, random3_01.txt, random3_02.txt, random4_01.txt, random4_02.txt, random4_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, star_01.txt, star_02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| binary_01.txt | AC | 894 ms | 55916 KiB |
| binary_02.txt | AC | 593 ms | 45308 KiB |
| hand_01.txt | AC | 7 ms | 1788 KiB |
| hand_02.txt | AC | 7 ms | 1788 KiB |
| hand_03.txt | AC | 7 ms | 1788 KiB |
| kary_01.txt | AC | 348 ms | 38652 KiB |
| kary_02.txt | AC | 590 ms | 40188 KiB |
| kary_03.txt | AC | 456 ms | 38652 KiB |
| line_01.txt | AC | 398 ms | 45052 KiB |
| line_02.txt | AC | 704 ms | 45936 KiB |
| line_03.txt | AC | 782 ms | 55664 KiB |
| line_04.txt | AC | 865 ms | 55920 KiB |
| line_05.txt | AC | 616 ms | 45308 KiB |
| line_06.txt | AC | 682 ms | 55164 KiB |
| random0_01.txt | AC | 395 ms | 44284 KiB |
| random1_01.txt | AC | 673 ms | 40316 KiB |
| random1_02.txt | AC | 746 ms | 46076 KiB |
| random1_03.txt | AC | 780 ms | 46076 KiB |
| random1_04.txt | AC | 1016 ms | 46204 KiB |
| random1_05.txt | AC | 674 ms | 40188 KiB |
| random1_06.txt | AC | 696 ms | 40316 KiB |
| random1_07.txt | AC | 774 ms | 46204 KiB |
| random1_08.txt | AC | 1165 ms | 56700 KiB |
| random2_01.txt | AC | 521 ms | 38780 KiB |
| random2_02.txt | AC | 446 ms | 38780 KiB |
| random2_03.txt | AC | 539 ms | 38780 KiB |
| random2_04.txt | AC | 487 ms | 44668 KiB |
| random2_05.txt | AC | 594 ms | 44668 KiB |
| random2_06.txt | AC | 861 ms | 55292 KiB |
| random3_01.txt | AC | 338 ms | 38780 KiB |
| random3_02.txt | AC | 688 ms | 44668 KiB |
| random4_01.txt | AC | 657 ms | 40316 KiB |
| random4_02.txt | AC | 671 ms | 40316 KiB |
| random4_03.txt | AC | 688 ms | 40316 KiB |
| sample_01.txt | AC | 7 ms | 1788 KiB |
| sample_02.txt | AC | 7 ms | 1788 KiB |
| sample_03.txt | AC | 7 ms | 1788 KiB |
| star_01.txt | AC | 845 ms | 68848 KiB |
| star_02.txt | AC | 684 ms | 67184 KiB |