久々に暖まったので
A - Determinant
問題: A - Determinant
なので,
です.
16bit以上の符号付き整数を使えばオーバーフローせずに正答できます.
拙解(C++): Submission #18302841 - AtCoder Beginner Contest 184
B - Quizzes
問題: B - Quizzes
文字列の各文字を左から順に見ていって,
o
なら点増やし,
x
なら点減らした後,
点未満になっていれば増やす,というのをすれば各文字
で合計
になって間に合います.
拙解(C++): Submission #18308435 - AtCoder Beginner Contest 184
C
問題: C - Super Ryuma
剛超竜馬は少なくとも3回で任意のマスに到達できるので,とすると,
のとき0回(移動しない)
のとき1回(1回移動)
のとき1回(1回斜め移動)
のとき2回(2回移動)
のとき2回(1回斜め移動+1回移動)
のとき2回(2回斜め移動)
- 3回(2回斜め移動+1回移動)
これらの条件を上から順に適用していって当てはまったらreturn
をするとACです.
私は 4. を忘れて嘘解法で通してしまいました,難しい…
拙解(C++): Submission #18316367 - AtCoder Beginner Contest 184
D
「金貨
枚,銀貨
枚,銅貨
枚の状態からいずれかの硬貨が
枚になるまでの操作の回数」とすると,
が成り立って,これらをメモ化再帰で実装してを出力するとACです.
として,各
個の状態から高々
つ遷移が出ているので,
で間に合います.
拙解(C++): Submission #18319293 - AtCoder Beginner Contest 184
E
問題: E - Third Avenue
同じテレポーターを2回使うのは無駄なので,そのようにすると遷移が回に減って
に間に合います.
拙解(C++): Submission #18324412 - AtCoder Beginner Contest 184
F
通りの取りうる和は
で全列挙できますが,これは
つまり
に間に合いません.半分ずつ全列挙してソートしておき,片方の各和に対してもう片方から二分探索でぎりぎり
を超えない和を探すと,
になって間に合います.
拙解(C++): Submission #18327848 - AtCoder Beginner Contest 184