現在の AtCoder ではあまり出なさそうな問題。こういうのは Python 楽だね。
問題概要
(西暦) ÷ (月) ÷ (日) が整数となるような日付を「割り切れる日付」と呼ぶ。
日付が "2020/11/14" のようなフォーマットで与えられる。その日付以降の最も早い「割り切れる日付」を求めよ。
制約
- "1000/01/01" 以降、"2999/12/31" 以前
考えたこと
単に日付を 1 日ずつ進めていって、最初に割り切れたところで出力するだけなのだが...C++ でやると面倒...
Python なら、日付のインクリメントを datetime.timedelta で扱えるのが楽。
コード
from datetime import datetime, timedelta formatter = '%Y/%m/%d' date = datetime.strptime(input(), formatter) while True: y, m, d = date.year, date.month, date.day if y % (m * d) == 0: break date += timedelta(days = 1) res = date.strftime(formatter) print(res)