0.はじめに
404 Not Foundで有名な404回目のコンテスト。
全体的に難しい問題が多く、Dは解けずに時間切れ。
レートは-3の732となりました。
実力的にここら辺が定位置なのかな・・・。
1. A - Not Found
Aから歯ごたえのある問題。
英小文字a~zのリストを用意し
Sの先頭からない文字がないかをチェックしてあったら
出力して終了としました。
https://atcoder.jp/contests/abc404/submissions/65424820
2.B - Grid Rotation
考え方は簡単ですが、実装がややこしい問題。
元の状態ではSとTの差がある個数=操作数であり
90°ずつ図を回転(3回まで)していき
それぞれの状態で回転回数+差の個数を求め
最小値=答えとなることは分かりました。
あとは図形を回転させる関数cycと
差をカウントする関数CHKを用意して
地道にCHKを4回、cycを3回繰り返して
答えを得ました。
https://atcoder.jp/contests/abc404/submissions/65439495
3.C - Cycle Graph?
これまたグラフを使ったややこしい(あくまで個人の感想)問題。
サイクルグラフという概念が初見でしたが
以下の条件を満たせば、サイクルグラフといえる!とおもう!という前提で実装しました。
・すべての頂点が連結されている
・すべての頂点において連結されている辺が2つ
後で解説を見ても考え方はあっていたようでです。
連結の判断は、よく使っているunion-find関数を使い
連結されている辺の個数は別途数えました。
https://atcoder.jp/contests/abc404/submissions/65455938
4.D - Goin' to the Zoo
Nの上限が10ということで、全組み合わせみても大丈夫だなということは気づきました。
コンテスト中は、勝手に各動物園に必ず2回行くのが
最も安い方法!と、勝手に決めつけ、あれこれ工夫しましたが
正当にたどり着けませんでした。
冷静に考えればそんなこと(各動物園に2回行く)は全くないのですが・・・。
コンテスト後解説を読んで、行く回数についても全組み合わせに入れることができるのか!
ということと、productという便利な関数があるのか!という事を知り
すんなり解けました。
学びを得ましたが、productについて、ここで使えば行ける!と気づける自信はありません・・・。
https://atcoder.jp/contests/abc404/submissions/65487230
以上