Submission #611609
Source Code Expand
class Apex
attr_reader :sides, :num, :h
def initialize(num, h)
@sides = []
@h = h
@num = num
end
def remove
return false if h == 1 || @sides.size != 1
sides.first.remove
true
end
end
class Side
attr_reader :num
def initialize(num, a, b)
@num = num
@apex0 = a
@apex1 = b
a.sides << self
b.sides << self
end
def remove
@apex0.sides.delete(self)
@apex1.sides.delete(self)
end
end
n, x = gets.split.map(&:to_i)
hs = gets.split.map(&:to_i)
hs[x - 1] = 1
n.times do |i|
hs[i] = Apex.new(i, hs[i])
end
(n - 1).times do |i|
a, b = gets.split.map{|s| s.to_i - 1}
s = Side.new(i, hs[a], hs[b])
end
ans = (n - 1) * 2
loop do
found = false
hs.each do |h|
if h.remove
ans -= 2
found = true
end
end
break unless found
end
puts ans
Submission Info
| Submission Time | |
|---|---|
| Task | B - ツリーグラフ |
| User | mamorun |
| Language | Ruby (1.9.3) |
| Score | 100 |
| Code Size | 876 Byte |
| Status | AC |
| Exec Time | 54 ms |
| Memory | 4224 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 100 / 100 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | subtask0_sample_01.txt, subtask0_sample_02.txt |
| All | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_line01.txt, subtask1_line02.txt, subtask1_line03.txt, subtask1_line04.txt, subtask1_line05.txt, subtask1_line06.txt, subtask1_random01.txt, subtask1_random02.txt, subtask1_random03.txt, subtask1_random04.txt, subtask1_random05.txt, subtask1_random06.txt, subtask1_random07.txt, subtask1_random08.txt, subtask1_special01.txt, subtask1_special02.txt, subtask1_special03.txt, subtask1_special04.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| subtask0_sample_01.txt | AC | 52 ms | 4156 KiB |
| subtask0_sample_02.txt | AC | 49 ms | 4184 KiB |
| subtask1_line01.txt | AC | 53 ms | 4184 KiB |
| subtask1_line02.txt | AC | 50 ms | 4184 KiB |
| subtask1_line03.txt | AC | 52 ms | 4180 KiB |
| subtask1_line04.txt | AC | 52 ms | 4176 KiB |
| subtask1_line05.txt | AC | 54 ms | 4172 KiB |
| subtask1_line06.txt | AC | 49 ms | 4156 KiB |
| subtask1_random01.txt | AC | 48 ms | 4176 KiB |
| subtask1_random02.txt | AC | 48 ms | 4176 KiB |
| subtask1_random03.txt | AC | 50 ms | 4184 KiB |
| subtask1_random04.txt | AC | 49 ms | 4180 KiB |
| subtask1_random05.txt | AC | 47 ms | 4180 KiB |
| subtask1_random06.txt | AC | 49 ms | 4180 KiB |
| subtask1_random07.txt | AC | 52 ms | 4176 KiB |
| subtask1_random08.txt | AC | 49 ms | 4176 KiB |
| subtask1_special01.txt | AC | 52 ms | 4176 KiB |
| subtask1_special02.txt | AC | 51 ms | 4224 KiB |
| subtask1_special03.txt | AC | 50 ms | 4180 KiB |
| subtask1_special04.txt | AC | 51 ms | 4176 KiB |