题解:P11004 [蓝桥杯 2024 省 Python B] 魔法巡游

· · 题解

题目大意:

的序列形式为 s_{i_1}, t_{i_2}, s_{i_3}, t_{i_4}, \cdots,其中序列索引满足 i_1 < i_2 < i_3 < i_4 < \cdots,并且序列中每一对相邻的符文石都至少包含一个共鸣元素。 两个数的符文石上的数字符号必须有共鸣,这种共鸣只有当数字符号中至少包含 024 时,才会发生。

思路:

我们需要将 st 数组轮流去取,所以需要一个区分数组的变量,然后将两个数组里的数轮流判断是否共鸣,如果是,让答案加一。

Code:

def main():
    import sys
    input = sys.stdin.read
    data = input().split()

    N = int(data[0])
    s = [0] * (N + 1)
    t = [0] * (N + 1)

    index = 1
    for i in range(1, N + 1):
        s[i] = int(data[index])
        index += 1

    for i in range(1, N + 1):
        t[i] = int(data[index])
        index += 1

    sum_count = 0
    q = 1

    for i in range(1, N + 1):
        ok = False
        if q % 2 == 1:
            a = s[i]
        else:
            a = t[i]

        while a:
            if a % 10 in (0, 2, 4):
                ok = True
                break
            a //= 10

        if ok:
            sum_count += 1
            q += 1

    print(sum_count)

if __name__ == "__main__":
    main()