この問題で注意する点を解説します。
まずは暦です。 この問題では、全ての月が 日まで存在する特別な暦を使用しており、私たちが一般に使用するグレゴリオ暦とは異なります。 なので、 月や 月などで場合分けをする必要はありません。
次に入力です。 や は MM/DD
形式で与えられます。MM
と DD
は整数ですが、間に /
が含まれるので、文字列として受け取る必要があります。
最後に出力形式です。この問題の出力形式は条件を満たす を日付が小さい順に出力する必要があります (この操作を「ソート」と呼びます)。 ソートを行う方法には様々な方法がありますが、ここでは以下のような方法を解説します。
この問題でソートする数は、最大で 日から 日の 個です。
なので、要素数が 個の配列 Flag を用意します。
そして、for 文を使用して、全ての の MM
について の MM
と等しいかを判定します。
等しいときの の DD
番目の Flag の要素のフラグを立てます。
すべての について判定が終わったら、for 文で Flag の 番目から 番目までを順にフラグが立っているかを判定し、条件を満たす を出力します。
このようにして、条件を満たす を DD
が小さい順に出力することができます。