ABC 5回目の参加
5月3日に開催されたAtCoder Beginner Contest 166に参加しました。言語はRubyです。
前日に引き続き、AC(正解)はA・B問題だけでした。この前Cまでできたのはまぐれだった模様。
各問題の制約や入力・出力例はリンク先(AtCoderのサイト)をご覧ください。
A - A?C
問題文
AtCoder 社は、毎週土曜日にコンテストを開催しています。
コンテストには ABC と ARC の 2 つの種類があり、毎週どちらか一方が開催されます。
ABC が開催された次の週には ARC が開催され、ARC が行われた次の週には ABC が開催されます。
先週開催されたコンテストを表す文字列 S が与えられるので、今週開催されるコンテストを表す文字列を出力してください。入力
入力は以下の形式で標準入力から与えられる。
S
提出したコード
s = gets.chomp puts s == "ARC" ? "ABC" : "ARC"
結果:AC(正解) 実行時間:58 ms
B - Trick or Treat
問題文
ある街に、N 人のすぬけ君(すぬけ君 1 、すぬけ君 2 、 ...、 すぬけ君 N )が住んでいます。
この街には、 K 種類のお菓子(お菓子 1 、 お菓子 2 、....、お菓子 K )が売られています。お菓子 i を持っているのは、すぬけ君 Ai,1,Ai,2,⋯,Ai,di の計di 人です。
高橋君は今からこの街を回り、お菓子を 1 つも持っていないすぬけ君にいたずらをします。このとき、何人のすぬけ君がいたずらを受けるでしょうか。入力
入力は以下の形式で標準入力から与えられる。
N K
d1
A1,1 ... A1,d1
:
dK
AK,1 ... AK,dK
提出したコード
n, k = gets.split.map(&:to_i) ary = Array.new (1..k).each.with_index(1) do |x, i| d = gets.to_i line = gets.split.map(&:to_i) ary = ary.push(*line) end puts n - ary.uniq.size
結果:AC(正解) 実行時間:54 ms
感想
#AtCoder 問題文のクセが強いと感じるのは自分だけ?
— masuyama13 (@masuyama_13) 2020年5月3日
「ある街に、N 人のすぬけ君(すぬけ君 1 、すぬけ君 2 、 ...、 すぬけ君 N )が住んでいます。」
すぬけって何??しかもたくさんいるって!謎すぎて全然頭に入ってこない…(初心者の独り言です)
同じように感じた人が結構いたみたいで安心しました。笑
A問題は簡単。B問題は問題文の意味を読み解くのに時間がかかりました。
C問題までできそうな気もして最後まで粘りましたがダメでした。
レートは12上がって63になりました。