sky’s 雑記

主にAndroidとサーバーサイドの技術について記事を書きます

ABC 057 C - Digits in Multiplication

C - Digits in Multiplication

久々に頭悪すぎて涙出そうになった...

初手の方針

Nを素因数分解してA,Bの桁数の差が最小になるように貪欲に取っていけばいけるかなと思った. 制約も 10^{10}なので素因数分解の計算量は O(\sqrt{N})で十分間に合う.

Submission #12467047 - AtCoder Beginner Contest 057

これが最後の最後まで通らず. subtask_1_10.txt

正答

発想は素因数分解の計算量が O(\sqrt{N})で済むのと同じなんだが,,,  \sqrt{N}でループして総当りする,BはAが定まればNが固定なので自ずと決まる.

Submission #12467898 - AtCoder Beginner Contest 057

振り返り

与式があるときは変数を1つ削除できる,当たり前すぎるんだがこの発想に至らなかった, プログラミングと数学が全然紐付いていないという感じだ. 数学を意識しない業務プログラミングを長年続けていた+数学から長年離れていたことが理由だろうか...遠い.