ABC423 B – Locked Rooms

B - Locked Rooms
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.

問題文は↑

はじめに部屋の先頭と末尾にダミー(1)を入れ、それ以外の部屋に0を入れた配列を用意します

[1, 0, 0, 0, 0, 1]Code language: JSON / JSON with Comments (json)

その後、先頭と末尾からそれぞれロックされたドア(1)に当たるまで各配列の中身を+1しながらループします

0の数が到達できない部屋の数になります

以下のコードでACできました↓

def i_map():
    return map(int, input().split())


def i_list():
    return list(map(int, input().split()))


n = int(input())
l = i_list()

ans = [0] * (n-1)
ans = [1] + ans + [1]

for i  in range(n):
    if l[i] == 0:
        ans[i+1] = 1
    elif l[i] == 1:
        break
for i in range(n-1, -1, -1):
    if l[i] == 0:
        ans[i] = 1
    elif l[i] == 1:
        break

print(ans.count(0))Code language: PHP (php)

コメント

タイトルとURLをコピーしました