📌  相关文章
📜  门| GATE-CS-2017(套装2)|第 65 题(1)

📅  最后修改于: 2023-12-03 14:58:32.293000             🧑  作者: Mango

题目介绍

这是一道来自 GATE-CS-2017(套装2)的编程题,编号为第65题,题目名为"门"。这道题目主要考察编程实现的能力,让程序员通过代码计算门的状态。

题目描述

题目描述如下:

给定一个表示门的状态的整数,其中0表示门关闭,1表示门打开。门的初始状态是关闭的。现在,执行一系列操作,最终会得到门的最终状态。每个操作都写成一个二元组(p, q),其中p表示执行此操作时,门的状态必须为p,q表示操作后门的状态。

例如,如果操作为(0, 1),则门的状态必须为0,才能将门的状态改为1。

假设操作按照给定的顺序执行,请编写一个函数,计算门经过所有操作后的最终状态。

代码片段

以下是该题的部分测试用例和代码实现:

def door_state(n, operations):
    state = 0
    for op in operations:
        if op[0] == state:
            state = op[1]
    return state

该函数的输入参数为n和operations,其中n表示门的初始状态,operations是一个二维列表,每一个操作都以列表的形式存储在operations中。

该函数的实现方式为遍历每一个操作,如果门的当前状态等于操作中的第一个值,则改变门的状态为操作中的第二个值。最终返回门的最终状态。