0.はじめに
A~Cがやさしく、Dもそこそこでした。Dは解けなかったけど。
3問正解だとやはりレーティングが下がる感じでした。
1.A - Pawn on a Grid
Aにしては2次元表を使う感じの問題でした。
まぁ使わなくても解けそうでしたが
素直に表に入れて、カウントしてAC
https://atcoder.jp/contests/abc280/submissions/36959724
2.B - Inverse Prefix Sum
最初は問題の意味が分からなくて悩みましたが
回答の数列[i]は、問題の数列[i]-回答の数列i-1
でOKと気づき、そのまま実装。
どちらかというと、答えの出力で配列を空白明けで表示する
ほうにてこずりました。
https://atcoder.jp/contests/abc280/submissions/36968288
3.C - Extra Character
C問題にしては簡単すぎるので、どこかに罠があるんだろうなと
とりあえず、
1)文字列を頭から比較して差があったアドレスを出力
(添え字なので+1する)
2)最後まで差が無かったら、最後の文字が
追加された文字なので、Tのレコード長を出力
としたら、あっさりACでした。
https://atcoder.jp/contests/abc280/submissions/36972742
4.D - Factorial and Multiple
1時間20分残して到達するも、あの手この手を使っても
ACをとれませんでした。
終了後、解説を見たら10分で解けたので
解説を見て分かった気になる感が強い設問でした。
考え方1
Kを2から順に割っていき、1になったら
最後に割った数が答え
ならなかったら、K自体が答え
(途中でK<割る数になったら、割る数/Kで
Kをわる。)
→余裕でLTE
考え方2
Kを2から順に割っていき、1になったら
最後に割った数が答え
(途中でK<割る数になったら、割る数/Kで
Kをわる。)
193000000になるまで1にならなかったら、K自体が答え
(↑PyPy3でLTEにならない限度)
→RE
考え方3
Kを素因数分解して、約数の最大値が答え
→WA
考え方4
Kを素因数分解して、約数×約数の答えの最大値が答え
→WA
考え方5(回答をみて。)
Kをi(2から~2000000)とKの最大公約数で割っていき
Kが1になったら、その時のiが答え
20000000まで、1にならなかったら、Kが答え
どちらかというと、最初に考えていた解き方が
近かったなーと思いつつ、ACを頂きました。
https://atcoder.jp/contests/abc280/submissions/36997685
以上