📌  相关文章
📜  门| Sudo GATE 2020 Mock I(2019年12月27日)|第34章(1)

📅  最后修改于: 2023-12-03 15:28:46.143000             🧑  作者: Mango

Sudo GATE 2020 Mock I(2019年12月27日)|第34章

简介

本题为2019年12月27日的Sudo GATE 2020模拟题中的第34章——,要求程序员根据给定的门电路,编写程序,实现根据输入的指令对门进行控制。

题目描述

实现一个门电路,参考电路图如下所示:

image

这个门支持两种操作:

  • X i:将第 i 个锁的状态取反。
  • Q i:给出整个系统的输出,并显示第 i 个锁的状态。

要求你实现这个门电路,对于每次的操作,按照逐行的方式进行处理。每行仅包含一个操作,并输出结果。

输入格式
  • 第一行包含一个整数 n,表示锁的个数。
  • 接下来 n 行,每行包含一个整数 0 或 1 表示第 i 个锁的状态。
  • 接下来若干行,每行包含一个字符串 s,表示一次操作。字符串包含两个部分,一个字母表示操作类型,另一个数字表示操作针对的锁的编号。其中,字母为 'X' 表示取反操作,'Q' 表示查询操作。
输出格式

对于每个查询操作,输出一行,包含整个系统的输出(0 或 1),以及被查询的锁的状态。

例子

输入:

5
0
1
0
1
0
Q 3
X 1
Q 1
X 3
X 3
Q 3

输出:

011
111
010
010
建议

我们建议在你开始做这个问题之前,先自己手动模拟一下电路的工作方式,并在每一次变化后记录每个锁的状态和整个系统的输出状态。这有助于你更好地理解电路图,并避免在代码实现中犯错误。

另外,由于这个电路是用于模拟计算机的内存访问,所以我们更建议你使用一种类似于位数组这样的数据结构来维护整个电路。

代码示例