📜  门|门CS 2008 |第 74 题(1)

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

门|门CS 2008 |第 74 题

题目描述

有一扇有刻度的大门,刻度为n,门两侧设有进出门的开关,进门称为“-1”,出门称为“+1”,每按一下开关门的值就加上(+1)或减去(-1)。现在门的值为0,你需要模拟一下门的开关过程,以及每次开关的结果值和最终结果值。

输入格式

一个整数n(1<=n<=100)

输出格式

按照门的开关过程,输出每次的结果值和最终结果值。如果结果为负数,则在结果前加一个“-”,结果为0则直接输出。

示例

输入:

3

输出:

-1 -1
0 0
1 1
2 2
1 1
0 0
-1 -1
解题思路

本题可以用一个变量来保存门的值,并通过读入的开关操作来修改该变量。每次操作后需要输出结果值和最终结果值。

参考代码
n = int(input())
res = 0
for i in range(2 * n):
    if i % 2 == 0:  # 进门
        res -= 1
    else:  # 出门
        res += 1
    print('-' + str(res) if res < 0 else str(res), end=' ')
    if i % 2 == 1:
        print()
以上代码是一个Python3的解答。

1. 首先读入n;
2. 然后定义一个变量res保存门的值,初始化为0;
3. 在循环中,根据每次循环的次数i来判断进门还是出门;
4. 每次操作后都需要计算结果值和最终结果值;
5. 最后输出结果时需要判断结果是否为负数,如果是需要在前面添加一个“-”号;
6. 如果循环次数是奇数,则需要换行,否则需要在后面添加一个空格。

输出的格式要求很明确,可以通过这个验证你的代码正确性。