C++ の動作確認をしてみた(155)

C++の練習を兼ねて, AtCoder Beginner Contest 029 の 問題D (D – 1) を解いてみた.

■感想.
1. 現在見ている桁(cur) と その左側の桁 に含まれる 1の個数(one) を 考慮 し, その加減算を行う条件を抽出するのに, 時間かかってしまった.

※なお, 解法イメージとしては, N = 123456 の 場合,
1 ~ 100000
100001 ~ 110000, 110001 ~ 120000
120001 ~ 121000, 120001 ~ 122000, 122001 ~ 123000
~(略)~
123401 ~ 123410, 123411 ~ 123420, 123421 ~ 123430, 123431 ~ 123440, 123441 ~ 123450
123451 ~ 123456
のように, 区切りを設けて解いていく方針で実装した.

2. 時間を見つけて, 引き続き, 過去問を振り返っていきたいと思う.

本家のサイトABC 029解説をご覧下さい.

■C++版プログラム(問題D/AC版).

■参照サイト
AtCoder Beginner Contest 029

カテゴリーC++

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください