2097: [蓝桥杯2023初赛] 与或异或

内存限制:256 MB 时间限制:1 S 标准输入输出
题目类型:传统 评测方式:文本比较 上传者:
提交:62 通过:33

题目描述

小蓝有一张门电路的逻辑图,如下图所示:


图中每个三角形代表着一种门电路,可能是与门、或门、异或门中的任何一种,
它接受上一层中的两个圆形中的数据作为输入,产生一个输出值输出到下一级(如图中箭头所示)。
图中圆形表示的是暂存的输出结果,取值只可能是 0 或 1。
为了便于表示我们用 arr[i][ j] 表示第 i(0 ≤ i ≤ 4) 行第 j(0 ≤ j ≤ i) 个圆形的值。
其中 arr[0] = (In[0], In[1], In[2], In[3], In[4]) 表示的是输入数据,对于某个 arr[i][j](i ≤ 0),
计算方式为 arr[i][j] = arr[i − 1][j] op arr[i − 1][ j + 1],
其中op 表示的是将arr[i − 1][j]、arr[i − 1][j + 1] 作为输入,将arr[i][j] 作为输出的那个门电路。
与门、或门、异或门分别对应于按位与(&)、按位或(|)、按位异或(^) 运算符。
现在已知输入为In[0] = 1; In[1] = 0; In[2] = 1; In[3] = 0; In[4] = 1。
小蓝想要使得最终的输出Out 的值为1,请问一共有多少种不同的门电路组合方式?
其中上图中显示的就是一种合法的方式。
本题的结果为一个整数,在提交答案时只输出这个整数,输出多余的内容将无法得分。