📅  最后修改于: 2023-12-03 15:42:13.112000             🧑  作者: Mango
这是一道GATE 2018计算机科学模拟考试的编程题目,题目编号为第36题,题目名称为“门”(GATE CS Mock 2018 | Set 2 | Question 36 - Gates)。该题目是一道基于逻辑门的计算题目。
给定若干个逻辑门及其输入和输出的关系,计算输出门的输出数值。逻辑门有4种类型:
输入门只有1个输入端口,输出门只有1个输出端口。每个门可以与以下类型的门相连:
输入的逻辑门和数字(每个数字都是0或1)列表按照以下格式:
<输出门1> <逻辑关系> <输入门1> <输入门2> ... <输入门N>
<输出门2> <逻辑关系> <输入门1> <输入门2> ... <输入门N>
...
<输出门M> <逻辑关系> <输入门1> <输入门2> ... <输入门N>
输入门<i>:<数字>
输出门<i>:<数字>
例如,下面的输入表示一个AND门和一个OR门输出到另一个AND门中:
G1 AND i1 i2
G2 OR i3 i4
G3 AND G1 G2
输入的第一行包含一个整数T,表示测试用例的数量。每个测试用例都包括以下内容:
<门ID> <数字值>
,其中<门ID>
是一个大写字符。<门ID> <逻辑关系> <输入门1> <输入门2> ... <输入门N>
,其中<逻辑关系>
是AND、OR、NOT、XOR中的一个。对于测试用例中的每个输出门,在一行中输出一个数字0或1,表示输出门的数值。
输入:
2
3
A 0
B 1
C 0
2
XOR A B
AND C A
1
A 1
1
NOT A A
输出:
1
1
0
第一个测试用例可以表示以下过程:
0 XOR 1 = 1
1 AND 0 = 0
第二个测试用例表示:
NOT 1 = 0