問題一覧 > 通常問題

No.2308 [Cherry 5th Tune B] もしかして、真?

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 56
作問者 : 👑 KazunKazun / テスター : 👑 p-adicp-adic
0 ProblemId : 5202 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-05-19 20:41:03

問題文

$N$ 個の命題定数 $A_1, \dots, A_N$ と $(N-1)$ 個の論理演算子 $\operatorname{op}_1, \dots, \operatorname{op}_{N-1}$ が以下のように交互に現れる列 $E$ が与えられる. $$E: (A_1, \operatorname{op}_1, A_2, \operatorname{op}_2, A_3, \dots, A_{N-2}, \operatorname{op}_{N-2}, A_{N-1}, \operatorname{op}_{N-1}, A_N)$$

ここで, $N$ 個の命題定数 $A_i$ についてはそれぞれ文字列 $X_i$ で与えられ, 以下を意味している.

  • $X_i$=True のとき, $A_i$ はである.
  • $X_i$=False のとき, $A_i$ はである.

そして, $(N-1)$ 個の論理演算子 $\operatorname{op}_i$ についてもそれぞれ文字列 $Y_i$ で与えられ, 以下を意味している.

  • $Y_i$=and のとき, $\operatorname{op}_i$ は論理積 $\land$ である.
  • $Y_i$=or のとき, $\operatorname{op}_i$ は論理和 $\lor$ である.
  • $Y_i$=xor のとき, $\operatorname{op}_i$ は排他的論理和 $\veebar$ である.
  • $Y_i$=imp のとき, $\operatorname{op}_i$ は含意 $\to$ である.

この列 $E$ に対して, 以下の操作を $(N-1)$ 回行う. ただし, $j~(1 \leq j \leq N-1)$ 回目の操作は整数 $S_j$ を用いて表される.

  • $E$ において, $S_j$ 番目の命題定数から始まる連続する長さ $3$ の部分列 $(A_{S_j}, \operatorname{op}_{S_j}, A_{S_j+1})$ を削除し, 元あった位置に $A_{S_j} \operatorname{op}_{S_j} A_{S_j+1}$ の結果を挿入する. (そして, 必要ならば, 命題定数と論理演算子それぞれについて添字を $1$ から付け替える.)

操作を $(N-1)$ 回行うことにより, $E$ はただ $1$ つの命題定数からなる列になる. では, そのただ $1$ つの命題定数とはか? それともか?

$T$ 個のテストケースについて答えよ.

注記

$P,Q$ を命題定数とする.

  • $P,Q$ の論理積 $P \land Q$ は $P,Q$ の両方がであるときは, そうではないときはとして定義される.
  • $P,Q$ の論理和 $P \lor Q$ は $P,Q$ のうち, 少なくとも一方 (両方でも可) がであるときは, そうではないときはとして定義される.
  • $P,Q$ の排他的論理和 $P \veebar Q$ は $P,Q$ の真偽が異なっている場合は, そうではないときはとして定義される.
  • $P,Q$ の含意 $P \to Q$ は $P$ がの場合は $Q$ として, $P$ がである場合はとして定義される.

制約

  • $1 \leq T \leq 10^5$.
  • $T$ は整数である.
  • 各テストケースに関する制約
    • $2 \leq N$.
    • $X_i$ は True または False である $\quad (1 \leq i \leq N)$.
    • $Y_i$ は and, or, xor, imp のどれかである $\quad (1 \leq i \leq N-1)$.
    • $1 \leq S_j \leq N-j \quad (1 \leq j \leq N-1)$.
    • $N, S_j$ は整数である.
  • テストファイルに関する制約
    • $T$ 個のテストケースにおける $N$ の総和は $2 \times 10^5$ 以下である.

最後に改行を忘れないこと.

入力

入力は以下の形式で標準入力から与えられる.
$T$
$\text{Testcase}_1$
$\text{Testcase}_2$
$\vdots$
$\text{Testcase}_T$
各テストケースは以下の形式である.
$N$
$X_1$ $X_2$ $\cdots$ $X_{N-1}$ $X_N$
$Y_1$ $Y_2$ $\cdots$ $Y_{N-1}$
$S_1$ $S_2$ $\cdots$ $S_{N-1}$

出力

出力は $T$ 行からなる.

第 $t$ 行目には第 $t$ テストケースについて, 解答がであるならば, True を, であるならば, False を出力せよ.

サンプル

サンプル1
入力
3
5
True False True False True
and or xor imp
2 2 1 1
3
False True False
and and
1 1
4
False True False False
imp and imp
1 2 1
出力
True
False
True

この説明において, $T,F$ をそれぞれ, を表わす命題定数とする.

  • [第 $1$ テストケース]: 操作によって, $E$ は次のように変化していく. なお, 各操作前後で変化した部分は下線を引いている.
    • $(T, \land, \underline{F, \lor, T}, \veebar, F, \to, T)$ から $(T, \land, \underline{T}, \veebar, F, \to, T)$
    • $(T, \land, \underline{T, \veebar, F}, \to, T)$ から $(T, \land, \underline{T}, \to, T)$
    • $(\underline{T, \land, T}, \to, T)$ から $(\underline{T}, \to, T)$
    • $(\underline{T, \to, T})$ から $(\underline{T})$
    よって, 正解はであるので, True と出力しなければならない.
  • [第 $3$ テストケース]: $F \to T, F \to F$ はであることに注意せよ.

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。