ganmo::cout

競技プログラミング始めました

AISing Programming Contest 2019

何とかABCの3完で水パフォ(1409)出して水色になりました。めざせ脱初心者*1

A - Bulletin Board (100点)

問題: A - Bulletin Board
縦横が入れ替わらず、かつ縦と横にそれぞれ{N-H+1}通り、{N-W+1}通り動かす余地があるので、この二つをかけた{(N-W+1)(N-H+1)}を出力。

拙解 (C++): Submission #3983202 - AISing Programming Contest 2019 / エイシング プログラミング コンテスト 2019

B - Contests (200点)

問題: B - Contests
1, 2, 3問目にそれぞれ使える問題に分類できて、複数の分類に当てはまる問題は存在しないので、3分類全部数えて一番少ない数が答えになる。

拙解 (C++): Submission #3984521 - AISing Programming Contest 2019 / エイシング プログラミング コンテスト 2019

C - Alternating Path (300点)

問題: C - Alternating Path
300点問題で方針こそすぐ思いつきましたが実装力がクソだったので1時間以上かかってしまった。本当に思いついてしまえばすぐだったが、iとjを取り違えたりhとwを取り違えたりlong longとすべき型をintにして4WAを連打した。
隣接するマスに移動すると必ず{i+j}の偶奇が変わるので、{i+j}が奇数*2のマスで白黒を入れ替えると、繋がっている同じ色のマスが移動可能になり、その連結成分に含まれる白と黒のマスそれぞれの数をかけると、移動可能な白と黒のマスの組み合わせの数が求まる。

拙解 (C++): Submission #3989986 - AISing Programming Contest 2019 / エイシング プログラミング コンテスト 2019

D - Nearest Card Game (400点)

問題: D - Nearest Card Game
終了5分前に取り掛かった。とりあえずシミュレーションしてみて、同じ枚数だけ上からとった後交互に…というところまで思いついて終了。\{X_i\}をソートして二分探索で範囲を見つけるらしい。

拙解 (C++, TLE): Submission #3990990 - AISing Programming Contest 2019 / エイシング プログラミング コンテスト 2019

まとめ

コーディングがガバガバでC問題1時間かかって4WAも出したのは流石に反省しなければならない

*1:青(レート1600)になれば中級者らしいです

*2:あるいは偶数でもOK