https://www.acmicpc.net/problem/1244
1244๋ฒ: ์ค์์น ์ผ๊ณ ๋๊ธฐ
์ฒซ์งธ ์ค์๋ ์ค์์น ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ์ค์์น ๊ฐ์๋ 100 ์ดํ์ธ ์์ ์ ์์ด๋ค. ๋์งธ ์ค์๋ ๊ฐ ์ค์์น์ ์ํ๊ฐ ์ฃผ์ด์ง๋ค. ์ผ์ ธ ์์ผ๋ฉด 1, ๊บผ์ ธ์์ผ๋ฉด 0์ด๋ผ๊ณ ํ์ํ๊ณ ์ฌ์ด์ ๋น์นธ์ด ํ๋์ฉ
www.acmicpc.net
N = int(input()) #์ค์์น ๊ฐ์
#์ค์์น ์ํ ๋ฆฌ์คํธ. ์ค์์น ๋ฒํธ ํท๊ฐ๋ฆฌ๋๊น 0๋ฒ์ธ๋ฑ์ค์ 0๊ณผ1์ด ์๋ ์๋ฌด๊ฑฐ๋ ๋ฃ์ด์ค
switch=[-1]+ list(map(int,input().split()))
S = int(input()) # ํ์ ์
for i in range(S): #ํ์ ์ฑ๋ณ, ๋ฐ์ ์
gen,num = map(int,input().split())
if gen == 1: #ํ์์ด ๋จ์์ผ ๋
for j in range(num,N+1,num): #๋ฐฐ์๋ฅผ ์ฐพ์ ์ค์์น ๋ฐ๊พธ๊ธฐ
if switch[j] == 0:
switch[j] = 1
else:
switch[j] = 0
elif gen == 2: #ํ์์ด ์ฌ์์ผ ๋
#์๊ธฐ ์์ ์ ์ค์์น ๋ฐ๊พธ๊ธฐ
if switch[num] == 1:
switch[num] = 0
else:
switch[num] = 1
#๋์นญ ๋๋ ๊ฐ ์ฐพ๊ธฐ
#์ด๋๊ฐ ๋์ธ์ง ๋ชจ๋ฅด๋๊น while๋ฌธ ์ด์ฉํ๊ธฐ
move=1 #์ด๋ํ๊ธฐ ์ํ ๋ณ์
while(num-move > 0 and num+move < N+1 and switch[num+move]==switch[num-move]):
#๋์นญ ๋๋ ๊ฐ๋ค ๋ฐ๊ฟ์ฃผ๊ธฐ
if switch[num+move] == 1:
switch[num+move],switch[num-move] =0,0
elif switch[num+move] == 0:
switch[num + move], switch[num - move] = 1,1
move+=1
# ์ฒ์์ ๋ฃ์ด์ค 0๋ฒ ์ธ๋ฑ์ค ์ญ์
result = switch[1:]
#20๊ฐ์ฉ ์ถ๋ ฅํ๊ธฐ
for k in range(0,N,20):
print(*result[k:k+20])
'Problem Solving > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[baekjoon]python #2606 ๋ฐ์ด๋ฌ์ค (0) | 2022.05.02 |
---|---|
[baekjoon]python #2589 ๋ณด๋ฌผ์ฌ (0) | 2022.04.26 |
[baekjoon]python #19949 ์์ฌ์ ์ํ (0) | 2022.04.14 |
[baekjoon]python #2477 ์ฐธ์ธ๋ฐญ (0) | 2022.03.11 |
[baekjoon ]python #1436 ์ํ๊ฐ๋ ์ (0) | 2022.03.11 |
๋๊ธ