그냥.. 파이썬 익힐겸.. 간단히..
h, w = map(int, input().split())
n = int(input())
# stick_list에는 각 막대의 정보가 tuple로 담겨있다.
stick_list = []
for i in range(n):
l, d, x, y = map(int, input().split())
stick_list.append((l, d, x, y))
# 판 형태 - 2차원 list - False로 채운다 - 0행,0열은 사용X
pad = [ [False for _ in range(w+1)] for _ in range(h+1) ]
# 판에 막대 놓기 - False을 True로 변경 - XOR 이용
for stick in range(n):
l = stick_list[stick][0]
d = stick_list[stick][1]
x = stick_list[stick][2]
y = stick_list[stick][3]
if d == 0: # stick 가로 배치
for length in range(l):
pad[x][y+length] = pad[x][y+length]^True
if d == 1: # stick 세로 배치
for length in range(l):
pad[x+length][y] = pad[x+length][y]^True
# 출력하기
for h in range(1,h+1):
for w in range(1,w+1):
print(int(pad[h][w]), end=' ')
print()
[ 방법 부연 설명 ]
- stick_list에는 각 stick의 속성 4개가 튜플로 묶여 담겨있다. 즉, 리스트의 요소는 각 stick이다.
- 판 형태 pad를 만들어준다. 각 요소는 모두 False
- stick_list의 tuple에서 각 stick 정보를 꺼내어, 이에 따라 stick을 pad에 배치해준다.
'기타' 카테고리의 다른 글
티스토리 | 더보기 버튼 가운데 정렬하는 방법 (0) | 2022.02.24 |
---|---|
코드업 6098 - 성실한 개미 (0) | 2022.02.07 |
코드업 6096 - 바둑알 십자 뒤집기 (0) | 2022.02.06 |
컴퓨터 화면을 태블릿에서 보기 | 컴퓨터화면을 미러링 | 태블릿을 모니터로 쓰는 깔끔한 방법 (2) | 2021.08.31 |
[윈도우10] 프로그램 설치 없이 태블릿 화면 미러링하기 (5) | 2021.08.31 |