例1) リストを使って解く
リストを使って解く
n, m = map(int,input().split())
seats = [0] * n
for _ in range(m):
a, b = map(int, input().split())
b -= 1 # 座席番号を 0 番からにする
tmps = [seats[(b+i)%n] for i in range(a)]
if sum(tmps) == 0:
for i in range(b, b+a):
seats[i%n] = 1
print(sum(seats))
問題の絵図を見て、26 番の席と 1 番の席をどう繋げるかがポイントになります。座席番号を 0 番から始めるようにすると 0 ~ 25 番となり、
座る予定の座席 % 26
と計算すれば、25 番の次の 26番は、イコール 0 番となります。その座席の要素が 0 の時は空席です。if sum(tmps) == 0:
で全て空席であればという条件文になり、True であれば、その席に1グループ全員座ります。
ちなみに問題文にある『江戸っ子は気が早いんでぃ。』は、「気が短い」が適切かと思います。😅