atcoder#ABC291D. [ABC291D] Flip Cards
[ABC291D] Flip Cards
配点 : 点
問題文
から までの番号がついた 枚のカードが一列に並んでいて、各 に対してカード とカード が隣り合っています。 カード の表には が、裏には が書かれており、最初全てのカードは表を向いています。
今から、 枚のカードのうち好きな枚数 ( 枚でも良い) を選んで裏返すことを考えます。 裏返すカードの選び方は 通りありますが、そのうち以下の条件を満たすものの数を で割った余りを求めてください。
- 選んだカードを裏返した後、どの隣り合う 枚のカードについても、向いている面に書かれた数が相異なる。
制約
- 入力は全て整数
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを整数として出力せよ。
3
1 2
4 2
3 4
4
裏返すカードの番号の集合を とします。
例えば を選ぶと、向いている面に書かれた数はカード から順に となるため条件を満たします。
一方 を選ぶと、向いている面に書かれた数はカード から順に となり、カード とカード の数が一致するため条件を満たしません。
条件を満たす は の 通りです。
4
1 5
2 6
3 7
4 8
16
8
877914575 602436426
861648772 623690081
476190629 262703497
971407775 628894325
822804784 450968417
161735902 822804784
161735902 822804784
822804784 161735902
48