AtCoder Beginner Contestに3度目の挑戦
4月26日に開催されたAtCoder Beginner Contest 164に参加しました。言語はRubyです。
今回は、A・B・C問題でAC(正解)を出すことができました!D問題は30分ほど考えましたがわかりませんでした。
とりあえず、解答コードです。
AtCoder Beginner Contest 164 問題と提出コード
各問題の制約や入力・出力例はリンク先(AtCoderのサイト)をご覧ください。
A - Sheep and Wolves
問題文
羊が S 匹、狼が W 匹います。
狼の数が羊の数以上のとき、羊は狼に襲われてしまいます。
羊が狼に襲われるならunsafe
、襲われないならsafe
を出力してください。入力
入力は以下の形式で標準入力から与えられる。
S W
提出したコード(AC:正解)
s, w = gets.split.map(&:to_i) puts s <= w ? "unsafe" : "safe"
B - Battle
問題文
高橋君と青木君がモンスターを闘わせます。
高橋君のモンスターは体力が A で攻撃力が B です。 青木君のモンスターは体力が C で攻撃力が D です。
高橋君→青木君→高橋君→青木君→... の順に攻撃を行います。 攻撃とは、相手のモンスターの体力の値を自分のモンスターの攻撃力のぶんだけ減らすことをいいます。 このことをどちらかのモンスターの体力が 0 以下になるまで続けたとき、 先に自分のモンスターの体力が 0 以下になった方の負け、そうでない方の勝ちです。
高橋君が勝つなら Yes、負けるなら No を出力してください。入力
入力は以下の形式で標準入力から与えられる。
A B C D
提出したコード(AC:正解)
t_hp, t_power, a_hp, a_power = gets.split.map(&:to_f) puts (a_hp / t_power).ceil <= (t_hp / a_power).ceil ? "Yes" : "No"
C - gacha
問題文
くじ引きを N 回行い、i 回目には種類が文字列 Si で表される景品を手に入れました。
何種類の景品を手に入れましたか?入力
入力は以下の形式で標準入力から与えられる。
N
S1
:
SN
提出したコード(AC:正解)
n = gets.to_i array = [] n.times { array << gets.chomp } puts array.uniq.size
感想
初めてC問題までできました!
茶色コーダー(上位40%)目指して頑張りたいと思います。
後日各問題の復習をやります。
(ところで、シンタックスハイライトされてない気がするのはなぜでしょう…?)