問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
自然数 A, B が与えられます。
0 と 1 のみで構成される長さ L の文字列で 0 が A+1 個以上、1 が B+1 個以上連続しないという条件を満たすものはいくつありますか。
ただし、答えは非常に大きくなる場合があるので 10^10 で割ったあまりを出力してください。
例えば L=4, A=2, B=3 (入力例 1 ) で条件を満たさない文字列は 0000, 0001, 1000, 1111
の 4 つです。
0 と 1 で構成された長さ 4 の文字列は 16 個あるため、この 4 つを除く 12 個が答えとなります。
また、 L=4, A=4, B=5 (入力例 2 ) で条件を満たさない文字列はありません。
したがって答えは 16 となります。
ヒント:
状態として「最後の文字が何かとその文字が何回連続しているか」を持ってください。
L A B
条件を満たす文字列の個数を 1 行で出力してください。
末尾に改行を入れ、余計な文字、空行を含んではいけません。
すべてのテストケースにおいて, 以下の条件をみたします
・入力はすべて整数
・1 ≦ L ≦ 2,000
・1 ≦ A, B ≦ 1,000
4 2 3
12
4 4 5
16
30 5 10
862882191