Toy と帽子と ADP BE

主にプログラミングに関わる話をゆるくエモくやっていきます

AtCoder エクサウィザーズ 2019

C問題、解けそうで実はそうでもなかった。

各問題

A - Regular Triangle

最初、問題文を流し読みして、三平方の定理使うのか面倒くさいなぁ、とか思ったんですけど全然そんなことはなかった。 正三角形だから、三辺が全て等しいかどうか判定するだけでしたね。

B - Red or Blue

元の文字列から"B"か"R"かどちらか一方を消去して(私の場合JavaなのでString#replaceを使う)元の文字列長と消去後の文字列長を比較すればOK、という方針でやったのですが、テストが通らない。

よく見たら、ちょっとブログに書くのをはばかられるような信じられないバグを埋め込んでました。

この問題が簡単すぎてみんな当たり前に早解きしているので、これだけで順位800位分くらいロス。どうやら最初からバグ無しで最速提出できていたら青パフォで今回緑到達だったようです。つらい・・・。

C - Snuke the Wizard

条件を見たら、さすがに愚直に実装したら時間がいくらあっても足らないのはわかります。500点問題ですしね。 で、クエリ系は後ろからというセオリー?に則って考えて、端から狭めていけばいいんじゃないの?という方針で実装。 入力例は通るので提出するも、半分ほどWAが出る・・・。

しばらく考えて、潰す前に逃げられてたらだめじゃん!ということに気づきましたが、どこまで逃げられているかを管理する方法がわからず、ここでタイムアップとなりました。

D - Modulo Operations

B問題まで終わった時点でCDE問題を一通り見ましたが、D問題は今の自分にはできないやつと悟ったのでスルー。

E - Black or White

これもD問題と同じくスルー。

まとめ

初級者にとっては完全に早解き大会でしたね。つまらないバグで時間をロスしたのが本当に悔やまれますが、それもまた実力ですね。

f:id:mdstoy:20190330235534p:plain

とりあえず緑にはなっておきたい。