[python]伯俊2346-爆気球解答

4472 ワード

Overview


BOJ 2346バルーン爆発Python解答
分類:データ構造(データ構造)

質問ページ


https://www.acmicpc.net/problem/2346

プールコード

from sys import stdin
from collections import deque


def main():
    def input():
        return stdin.readline().rstrip()

    n = int(input())
    balloons = list(map(int, input().split()))

    dq = deque(list((i + 1, -balloons[i]) for i in range(n)))
    res = []
    while dq:
        idx, move = dq.popleft()
        if move < 0:
            move += 1
        res.append(idx)
        dq.rotate(move)

    print(*res, sep=' ')


if __name__ == "__main__":
    main()
Dequeの回転を用いて解く.注意したいのは、風船の中の紙の数字記号と逆に移動し、右に移動するときは、1格を少なく移動することです.