문제
뒤집기 게임의 룰은 다음과 같다.
- 뒤집기 게임을 진행할 맵과 뒤집기 횟수 N이 주어진다.
- 뒤집기 행위는 뒤집을 원소가 1이면 0으로 만들고, 0이면 1로 만든다는 뜻이다.
- 첫번째 뒤집을 때는 1행의 원소들과 1열의 원소들을 모두 뒤집는다. 두번째 뒤집을 때는 2행의 원소들과 2열의 원소들을 모두 뒤집는다. 마찬가지로 i번째 뒤집을 때는 i행의 원소들과 i열의 원소들을 모두 뒤집는다. 이렇게 총 N번의 뒤집기를 한다. (행과 열의 번호는 1번부터 시작한다.)
10×10크기 맵의 상태와 N이 주어졌을 때 뒤집기 게임을 모두 시행하고 난 뒤의 맵을 출력하는 프로그램을 작성해보자
입력
입력 첫째 줄에는 뒤집을 횟수 N이 주어진다. N은 10 이하의 자연수이다.
둘째 줄에는 10×10크기 맵의 상태가 주어진다.
출력
뒤집기 게임을 하고난 뒤의 맵의 상태를 출력한다.
예제 입력
1
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
예제 출력
1 1 1 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
예제 입력
2
0 0 1 1 1 0 0 1 1 1
1 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 0 0
0 0 1 1 1 0 0 1 1 1
1 0 0 0 0 0 0 0 0 0
예제 출력
1 0 0 0 0 1 1 0 0 0
1 1 0 1 0 1 1 0 1 1
0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 1 1 0 1 0 0 1 0 0
0 1 0 0 0 0 0 0 0 0
1 1 1 1 1 0 0 1 1 1
0 1 0 0 0 0 0 0 0 0
#코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import sys
if __name__ == "__main__":
input = sys.stdin.readline
n = int(input())
arr = [list(map(int, input().split())) for _ in range(10)]
row = 0
col = 0
while True:
# 열을 그린다.
for i in range(10):
if arr[row][i] == 1:
arr[row][i] = 0
else:
arr[row][i] = 1
# 행을 그린다.
for i in range(10):
if arr[i][col] == 1:
arr[i][col] = 0
else:
arr[i][col] = 1
row += 1
col += 1
if row >= n and col >= n: break
for i in range(n):
if arr[i][i] == 1: arr[i][i] = 0
else: arr[i][i] = 1
for i in arr:
for j in i:
print(j, end=' ')
print()
|
cs |
'CS > 알고리즘_문제풀이(파이썬)' 카테고리의 다른 글
fibonacci (0) | 2021.06.24 |
---|---|
nextnum (0) | 2021.06.24 |
seat[백준 10157] (0) | 2021.06.22 |
tetris (0) | 2021.06.22 |
행렬 뒤집기 (0) | 2021.06.22 |