2019年07月22日
[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識 を買ったので少しずつ読む。少しずつでもやってくしかないのがこの世の真理。
ABC134をやった。Dは軽く問題文読んでイミフだったからスルーしてA, B, Cだけ……。
A - Dodecagon
半径aの円に内接する正十二角形の面積は3a2であることが知られています。
だそうなのでそのままやればおk。
r = gets.to_i
puts 3 * r ** 2
B - Golden Apple
ひとりで(2 * d + 1)本みれるので、切り上げればおk。
n, d = gets.strip.split.map(&:to_i)
puts (n.to_f / (2 * d + 1)).ceil
C - Exception Handling
1番大きい値と、2番目に大きい値がわかればおk。
n = gets.to_i
an = n.times.map { gets.to_i }
sorted = an.sort.reverse
max = sorted[0]
next_max = sorted[1]
an.each.map { |a| puts a == max ? next_max : max }
感想
A, B, Cは本番で早解きするならまだしも、さすがに後からやる意味はあんまなかったかも。
D以上をやってかないと。頭の体操くらいにはなるかもだけど。