ツバサの備忘録

主に備忘録代わりに精進記録を載せていくつもりです。

ABC069

同学年の4人でバーチャルコンテストなるものを初めて開きました。 ABCの番号は100面ダイスを使いました。

A - K-City

提出コード
サンプルの図とにらめっこして、(n-1)×(m-1)をすれば終わりです。

B - i18n

提出コード
素直に、文字列の先頭、間の個数、最後の文字を出力します。

C - 4-adjacent

提出コード
すごいバグを抱え込んでいて、1つなおすたびに提出していたら5回WAをたたき出しました(途中でDに逃げました)。
まずは、4の倍数、4の倍数でなくて偶数であるもの、奇数の3パターンにわけてそれぞれをカウントします。
次に、場合分けをしていきます。

  • 全てが偶数だった場合→Yes

  • 全てが偶数でない場合
    ①4の倍数ではない偶数が1つ以上あるとき、それをまとめて1つとみなして、奇数のカウントに追加する。
    ➁奇数の個数が、4の倍数+1個以下であればYes、そうでない場合No

という感じになります。こうなるのは、一番最悪の、Yesになるパターンが
先程の3パターンを4, 2, 1と表記したときに、
1, 4, 1, 4, ... 1, 4, (2, 2, 2, 2...)
もしくは
1, 4, 1, 4, ... 1, 4, 1
となるパターンであるからです。これよりも4の倍数が多ければYesになります。


D - Grid Coloring

提出コード
一番左上のマス目から、時計回りの螺旋状に、色を使い切るまで、1から順番に塗って行けばよいです。
終わってからほかの方に聞いたところ、蛇のようにクネクネ塗るとすごい楽らしいです…実際僕はとてつもない量のバグを抱え込んで、答えにたどり着くのが遅くなりました。


ということで、遅刻せず間に合った3人の中で、レートが現状で一番高いのにビリになるという事故を起こしたので、ほかの人に負けないよう夏休みに入ったら頑張ろうと思います。
f:id:emtubasa:20180728230951p:plain