ABC171 参加記

2020/6/21に開催されたABC171に参加しました。

atcoder.jp

前回のABC170では、灰色卒業目前のところが400未満のパフォーマンスしか出せず、灰色卒業のおあずけをくってしまいました。今回こそ文句なしの灰色卒業と行きたいところです。

今回の結果

で、結果は自分でも驚きの5完達成!

ABC171結果

ABC171結果

文句なしの灰色卒業です。

振り返り

ABC171提出結果

ABC171提出結果

C問題

C - One Quadrillion and One Dalmatians

前回、C問題でWAを何回かやらかしたので、今回はあえてC問題から着手することにしました。で、このC問題がなかなかの厄介な問題。

 

問題をみて、こりゃ10進数をAーZの26進数のように変換する問題かと考え、なんとかサンプルケースが通る実装をして提出したものの、結果はWA。。

 

色々なケースを考えて、ローカルでテストを繰り返した結果。どうも各桁を算出する際に毎回1を引いてけばうまくいくという結論に至り、なんとかACが取れました。

 

以下は実際に提出したコード。

https://atcoder.jp/contests/abc171/submissions/14565211

 

で、この問題だけで40分以上かかってしまいました。

A問題

A - αlphabet

入力された文字が大文字か小文字かを判別する問題。特につまるとこなくAC。

B問題

B - Mix Juice

入力された数列から、小さいもの順に何個か足していく問題。これも詰まるとこなくAC。

 

D問題

D - Replacing

数列が与えられ、数列内のある数全てを別のある数に置き換えたら、合計がどう変わるかを答える問題。

 

数字を添字にした配列を作り、数の個数を管理すれば計算量が抑えられるということに気付き、なんとかAC。

E問題

E - Red Scarf

自分以外の全ての数字をXORした数が数列として与えられる。元の数列を答えなさいという問題。

 

あまり時間もないので、もう直感に頼るしかない。

 

たぶん入力の数列全部XORしとけば、なんか色々打ち消されて、そっから元の配列の各要素とそれぞれXORすればいいんじゃないだろうか。という雑な考察で実装してみたら、サンプルケースが通ってしまいました。

 

で、とりあえず提出したら、なんとACが取れました。完全にヤマカンです。

F問題

F - Strivore

問題文に目を通すだけの時間はありましたが、カンで解ける様な問題ではなく、ここで時間切れとなりました。

今回の実績

参加6回目にして、やっと灰色卒業です。

コンテスト実績

コンテスト実績

総括

過去最高の5完達成となりましたが、どうも今回は難易度が以前と比べて低めだったようです。とはいえ目先の灰色卒業という目標は達成したので、次は緑を目指して頑張っていこうと思います。