おそらくテスターの方が書いていたコードがパット見で困ったので書き残し。 N = int(input()) w0, w1 = 1, 1 for i in range(N): S = input() if S == 'AND': w0, w1 = w0 * 2 + w1, w1 else: w0, w1 = w0, w0 + w1 * 2 print(w1) そもそも、これを読んだときにまず自分がまずかったのはorとandの解釈を忘れていたこと。 orはいずれかがtrueならtrue、andはどっちもtrueでtrueとなる。 だから単純に条件を満たす通り数をw1、満たさないのをw0とおくと、 a…