2022/12/3に開催された、デンソークリエイトプログラミングコンテスト2022(AtCoder Beginner Contest 280)に参加しました。
前回ABCでは、3完で終了という体たらくでレートは暴落。
今回は、とりあえず連敗は阻止したいというところということで、まずはレート以上のパフォを出そうという感じで臨みます。
Rated参加します。
— devgenjin77 (@devgenjin77) 2022年12月3日
前回は惨敗したので、連敗しないように頑張ります。
デンソークリエイトプログラミングコンテスト2022 Winter(AtCoder Beginner Contest 280) - AtCoder https://t.co/aGAeQj0JW9
今回の結果
ABCEの変則4完でなんとか形にはなりました。
パフォーマンスは、ギリギリ入水というところで、前回の負けを少し取り戻すことができましたとさ。
勝った😂
— devgenjin77 (@devgenjin77) 2022年12月3日
devgenjin77さんのデンソークリエイトプログラミングコンテスト2022 Winter(AtCoder Beginner Contest 280)での成績:1514位
パフォーマンス:1243相当
レーティング:1130→1142 (+12) :)#AtCoder #デンソークリエイトプログラミングコンテスト2022Winter(ABC280) https://t.co/XVuBDhxctP
振り返り
Dでハマってしまいましたが、なんとかE問題を倒すことができました。
A問題
A問題で、いきなりGrid問題かと思ったが、みてみると、文字列中の#
を数えるだけでした。
2重ループでカウントする実装を行い、一度の提出でACが取れました。
1分53秒で1完。
提出コード
https://atcoder.jp/contests/abc280/submissions/36949485
B問題
問題文としては、ややこしく書いているが、とした時に、として求めれば良いのではという感じ。
ということで、上記のように実装。問題なくACが取れましたとさ。
7分0秒で2完。ここまでは、まあまあという感じ。
提出コード
https://atcoder.jp/contests/abc280/submissions/36957837
C問題
文字列、を先頭から比較して、最初に異なった文字が現れる箇所が答えとなる。
ただ、末尾に挿入されるケースがあるので、実装上、文字目まで異なる箇所がない場合は、が出力されるようにする。
上記実装で問題なくAC。9分22秒で3完。
一応、3完まで10分を切れましたが、これぐらいでも、順位は1700ぐらいなんだよなあ。。
提出コード
https://atcoder.jp/contests/abc280/submissions/36960840
D問題
一読して、素因数分解するとなんとかなりそうな印象。
ということで、とりあえず、を素因数分解し、それぞれの素因数掛ける指数の最大値が答えかという実装を行う。が、、これはWA。
よくよく考えると、の場合、だが、想定解としては、が正しいというところで、素因数毎に、何番目の倍数が正解になるかというのを厳密に求める必要がありそう。。
で、一旦実装してみるも、なぜかWAが消えないというのを繰り返し、気づけばどんどん時間が過ぎていくばかり。
残り時間もだいぶヤバくなってきたので、今回は一旦Dを諦めて、E問題に賭けてみることにしました。
E問題
問題文を見る限り、多分DPで解けそう、なんならば、ちょっと前にやった双六の期待値問題の応用かなーという感じでした。
要は、パーセントの確率でが出て、それ以外はが出るサイコロを振り、ゴールまで何回振る必要があるかという期待値を求める問題かと。
ということで、あとはその時のコードを参考にしながら実装。サンプルまで合わすことができたのが、終了3分前というところでしたが、なんとか一度の提出でACが取れましたとさ。
87分55秒で4完。なんとか命拾いしました。
提出コード
https://atcoder.jp/contests/abc280/submissions/36995458
F問題
とりあえず、問題に目を通しましたが、残り2分では何もできず。
ここで時間切れとなりました。
G問題
問題すら見れておりません。
Ex問題
問題すら見れておりません。
これまでの実績
なんとか前回の負けを少し取り戻しました。年内に入水いけるかなあ。。
総括
今回、D問題でハマってしまい、再度自分の実装力不足を痛感することになりました。
このままでは、まだまだ入水は厳しい。とりあえず、今回の復習を行い、次に向けて準備するしかないというところです。
ということで、また次回も頑張ります。