配点 : 400 点
問題文
N 個の文字列 S1,…,SN が与えられます。各文字列は AND
または OR
です。
値が True または False であるような N+1 個の変数の組 (x0,…,xN) であって、
以下のような計算を行った際に、yN が True となるようなものの個数を求めてください。
- y0=x0
- i≥1 のとき、Si が
AND
なら yi=yi−1∧xi、Si が OR
なら yi=yi−1∨xi
a∧b は a と b の論理積を表し、a∨b は a と b の論理和を表します。
制約
- 1≤N≤60
- Si は
AND
または OR
入力
入力は以下の形式で標準入力から与えられる。
N
S1
⋮
SN
出力
答えを出力せよ。
2
AND
OR
5
例えば $(x_0,x_1,x_2)=(\text{True},\text{False},\text{True})$ のとき
- y0=x0=True
- $y_1=y_0 \land x_1 = \text{True} \land \text{False}=\text{False}$
- $y_2=y_1 \lor x_2 = \text{False} \lor \text{True}=\text{True}$
となり、y2 は True になります。
y2 が True となるような (x0,x1,x2) の組み合わせは、
- (True,True,True)
- (True,True,False)
- (True,False,True)
- (False,True,True)
- (False,False,True)
の 5 通りで全てです。
5
OR
OR
OR
OR
OR
63
全てが False のときを除く 26−1 通りで y5 は True になります。