名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

ABC049に参加しました

3完。21位。次からはARC出たほうが良さそうだなあ。

abc049.contest.atcoder.jp



A問題

A: 居合を終え、青い絵を覆う / UOIAUAI - AtCoder Beginner Contest 049 | AtCoder

"aiueo"のどれかが入っているかどうかで判定して出力する。うまいやり方がありそうな気がする。

結局短く書ける方法あったからそっちを掲載しておく。

Submission #1023028 - AtCoder Beginner Contest 049 | AtCoder

print("vowel" if input() in list("aiueo") else "consonant")

B問題

B: たてなが / Thin - AtCoder Beginner Contest 049 | AtCoder

読み込んだ行を2回ずつ出力する。

Submission #1017681 - AtCoder Beginner Contest 049 | AtCoder

def solve():
    h, w = map(int, input().split())
    for _ in range(h):
        s = input()
        print(s)
        print(s)
 
 
if __name__=="__main__":
    solve()

C問題

C: 白昼夢 / Daydream - AtCoder Beginner Contest 049 | AtCoder

T の末尾に dream dreamer erase eraser のいずれかを追加する。

これらだけでなる文字列かどうかを判定すれば良い。
正攻法では、後ろから見ていき、該当するものがあれば削除するという方針が取れる。
が、実はコレ正規表現をかける順番さえ間違えなければ手抜いてACできる。当然私は手抜きました。

こいつだけRuby。書き直したらワンライナーなんだよなあ。。。

Submission #1020681 - AtCoder Beginner Contest 049 | AtCoder

puts gets.chomp.gsub(/eraser/, "").gsub(/erase/, "").gsub(/dreamer/, "").gsub(/dream/, "").length>0 ? "NO" : "YES"

D問題

D: 連結 / Connectivity - AtCoder Beginner Contest 049 | AtCoder

道路でつながっているものと、線路でつながっているものの群をそれぞれ出してあげれば回答できるはず。
深さ優先探索で頑張ったけどTLEでした。おとなしくUnion-Find浸かっておけばよかったですね。ABCの枠ではPythonでのACがいませんでした。(ARCの方ではいたので、じっくりとコードを読ませていただいた)



4完できるセットだと思ったので、結構悔しかったです。次は4完と言いたいですが、ARCに出たほうが良さそうなので、レーティング爆下げとかにならない限りはABCでて4完とかないかな。。。