computer 지식/알고리즘 정복기
1244 스위치 켜고 끄기 백준 파이썬
semper.fidelis
2021. 10. 13. 22:54
반응형
n = int(input())
bulbs = list(map(int,input().split()))
student = []
student_num = int(input())
for i in range(student_num):
student.append(list(map(int,input().split())))
for order in student:
if order[0] ==1:
rest = n//order[1]
for i in range(1,rest+1):
bulbs[order[1]*i - 1 ] = (bulbs[order[1]*i - 1 ] * -1) +1
if order[0] ==2:
limit_of_wing = min(order[1]-1, n-order[1] )
change_range = limit_of_wing
for j in range(1, limit_of_wing +1 ):
if bulbs[order[1]-j-1 ] ==bulbs[order[1]+j-1]:
pass
else:
change_range = j-1
break
for jj in range(2*change_range +1):
bulbs[order[1]-change_range +jj-1 ] = (bulbs[order[1]-change_range +jj-1 ] * -1) +1
for bulb_index in range(n):
if (bulb_index+1) %10 == 0:
print(bulbs[bulb_index], sep="\n")
else:
print(bulbs[bulb_index],end=" ")
반응형