1244 Python μ€μμΉ μΌκ³ λκΈ°
λ¬Έμ
1λΆν° μ°μμ μΌλ‘ λ²νΈκ° λΆμ΄μλ μ€μμΉλ€μ΄ μλ€. μ€μμΉλ μΌμ Έ μκ±°λ κΊΌμ Έμλ μνμ΄λ€. <κ·Έλ¦Ό 1>μ μ€μμΉ 8κ°μ μνκ° νμλμ΄ μλ€. ‘1’μ μ€μμΉκ° μΌμ Έ μμμ, ‘0’μ κΊΌμ Έ μμμ λνλΈλ€. κ·Έλ¦¬κ³ νμ λͺ λͺ μ λ½μμ, νμλ€μκ² 1 μ΄μμ΄κ³ μ€μμΉ κ°μ μ΄νμΈ μμ°μλ₯Ό νλμ© λλμ΄μ£Όμλ€. νμλ€μ μμ μ μ±λ³κ³Ό λ°μ μμ λ°λΌ μλμ κ°μ λ°©μμΌλ‘ μ€μμΉλ₯Ό μ‘°μνκ² λλ€.
λ¨νμμ μ€μμΉ λ²νΈκ° μκΈ°κ° λ°μ μμ λ°°μμ΄λ©΄, κ·Έ μ€μμΉμ μνλ₯Ό λ°κΎΌλ€. μ¦, μ€μμΉκ° μΌμ Έ μμΌλ©΄ λκ³ , κΊΌμ Έ μμΌλ©΄ μΌ λ€. <κ·Έλ¦Ό 1>κ³Ό κ°μ μνμμ λ¨νμμ΄ 3μ λ°μλ€λ©΄, μ΄ νμμ <κ·Έλ¦Ό 2>μ κ°μ΄ 3λ², 6λ² μ€μμΉμ μνλ₯Ό λ°κΎΌλ€.
μ¬νμμ μκΈ°κ° λ°μ μμ κ°μ λ²νΈκ° λΆμ μ€μμΉλ₯Ό μ€μ¬μΌλ‘ μ’μ°κ° λμΉμ΄λ©΄μ κ°μ₯ λ§μ μ€μμΉλ₯Ό ν¬ν¨νλ ꡬκ°μ μ°Ύμμ, κ·Έ ꡬκ°μ μν μ€μμΉμ μνλ₯Ό λͺ¨λ λ°κΎΌλ€. μ΄λ ꡬκ°μ μν μ€μμΉ κ°μλ νμ νμκ° λλ€.
μ€μμΉ λ²νΈμ€μμΉ μν
β | β‘ | β’ | β£ | β€ | β₯ | β¦ | β§ |
0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 |
<κ·Έλ¦Ό 1>
μλ₯Ό λ€μ΄ <κ·Έλ¦Ό 2>μμ μ¬νμμ΄ 3μ λ°μλ€λ©΄, 3λ² μ€μμΉλ₯Ό μ€μ¬μΌλ‘ 2λ², 4λ² μ€μμΉμ μνκ° κ°κ³ 1λ², 5λ² μ€μμΉμ μνκ° κ°μΌλ―λ‘, <κ·Έλ¦Ό 3>κ³Ό κ°μ΄ 1λ²λΆν° 5λ²κΉμ§ μ€μμΉμ μνλ₯Ό λͺ¨λ λ°κΎΌλ€. λ§μ½ <κ·Έλ¦Ό 2>μμ μ¬νμμ΄ 4λ₯Ό λ°μλ€λ©΄, 3λ², 5λ² μ€μμΉμ μνκ° μλ‘ λ€λ₯΄λ―λ‘ 4λ² μ€μμΉμ μνλ§ λ°κΎΌλ€.
μ€μμΉ λ²νΈμ€μμΉ μν
β | β‘ | β’ | β£ | β€ | β₯ | β¦ | β§ |
0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 |
<κ·Έλ¦Ό 2>
μ€μμΉ λ²νΈμ€μμΉ μν
β | β‘ | β’ | β£ | β€ | β₯ | β¦ | β§ |
1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
<κ·Έλ¦Ό 3>
μ λ ₯μΌλ‘ μ€μμΉλ€μ μ²μ μνκ° μ£Όμ΄μ§κ³ , κ° νμμ μ±λ³κ³Ό λ°μ μκ° μ£Όμ΄μ§λ€. νμλ€μ μ λ ₯λλ μμλλ‘ μκΈ°μ μ±λ³κ³Ό λ°μ μμ λ°λΌ μ€μμΉμ μνλ₯Ό λ°κΎΈμμ λ, μ€μμΉλ€μ λ§μ§λ§ μνλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μλ μ€μμΉ κ°μκ° μ£Όμ΄μ§λ€. μ€μμΉ κ°μλ 100 μ΄νμΈ μμ μ μμ΄λ€. λμ§Έ μ€μλ κ° μ€μμΉμ μνκ° μ£Όμ΄μ§λ€. μΌμ Έ μμΌλ©΄ 1, κΊΌμ ΈμμΌλ©΄ 0μ΄λΌκ³ νμνκ³ μ¬μ΄μ λΉμΉΈμ΄ νλμ© μλ€. μ μ§Έ μ€μλ νμμκ° μ£Όμ΄μ§λ€. νμμλ 100 μ΄νμΈ μμ μ μμ΄λ€. λ·μ§Έ μ€λΆν° λ§μ§λ§ μ€κΉμ§ ν μ€μ ν νμμ μ±λ³, νμμ΄ λ°μ μκ° μ£Όμ΄μ§λ€. λ¨νμμ 1λ‘, μ¬νμμ 2λ‘ νμνκ³ , νμμ΄ λ°μ μλ μ€μμΉ κ°μ μ΄νμΈ μμ μ μμ΄λ€. νμμ μ±λ³κ³Ό λ°μ μ μ¬μ΄μ λΉμΉΈμ΄ νλμ© μλ€.
μΆλ ₯
μ€μμΉμ μνλ₯Ό 1λ² μ€μμΉμμ μμνμ¬ λ§μ§λ§ μ€μμΉκΉμ§ ν μ€μ 20κ°μ© μΆλ ₯νλ€. μλ₯Ό λ€μ΄ 21λ² μ€μμΉκ° μλ€λ©΄ μ΄ μ€μμΉμ μνλ λμ§Έ μ€ λ§¨ μμ μΆλ ₯νλ€. μΌμ§ μ€μμΉλ 1, κΊΌμ§ μ€μμΉλ 0μΌλ‘ νμνκ³ , μ€μμΉ μν μ¬μ΄μ λΉμΉΈμ νλμ© λλ€.
μ½λ
import sys
n = int(sys.stdin.readline())
array = [0] + list(map(int, sys.stdin.readline().split()))
student_num = int(sys.stdin.readline())
def change_switch(personNum):
if array[personNum] == 0:
array[personNum] = 1
elif array[personNum] == 1:
array[personNum] = 0
for _ in range(student_num):
person, person_num = map(int, sys.stdin.readline().split()) # μ±λ³, μ€μμΉ λ°μ μ
if person == 1: # λ¨μμΈ κ²½μ°
for i in range(1, n + 1):
if i * person_num > n:
break
else:
change_switch(person_num * i)
elif person == 2: # μ¬μμΈ κ²½μ°
change_switch(person_num) # μΌλ¨ μκΈ° μμ μ λ°κΎΈκ³
for i in range(int(n / 2)):
if person_num + i > n or person_num - i < 1: # index μμ λ°μμ λ²μ΄λλ©΄ λ©μΆκ³
break
if array[person_num - i] == array[person_num + i]: # μ μμ κ°μ΄ κ°μΌλ©΄ μ€μμΉλ₯Ό λ³κ²½ν΄μ£Όκ³
change_switch(person_num - i)
change_switch(person_num + i)
else: # κ°μ΄ λ€λ₯΄λ©΄ λ°λ‘ λ©μΆ€
break
for j in range(1, n + 1):
print(array[j], end=" ")
if j % 20 == 0: # μμΈ μ²λ¦¬ μ‘°μ¬! λ¬Έμ μμΈν μ½μ΄ 보기
print()