728x90
반응형
🙆♂️문제
🙋♂️풀이
입력을 보니 먼저 격자판 구격에 대해서 입력받습니다.
a,b = map(int, input().split())
pan=[]
for i in range(a):
pan.append([])
for j in range(b):
pan[i].append(0)
그리고 막대기 길이와 좌표에 대해 입력받는 값들을 2차원 리스트로 정렬합니다.
n=int(input())
stick=[list(map(int, input().split())) for _ in range(n)]
4개의 숫자가 입력되는데 막대의 길이, 방향, 좌표가 입력됩니다.
방향은 0은 가로 1은 세로를 뜻합니다.
for i in range(n):
if stick[i][1] == 0:
for j in range(0,stick[i][0]):
x=stick[i][2]-1
y=stick[i][3]-1
pan[x][y+j]=1
else:
for j in range(0,stick[i][0]):
x=stick[i][2]-1
y=stick[i][3]-1
pan[x+j][y]=1
이런식으로 방향이 0일 때와 1일 때를 구분해서 구합니다.
# 판 크기 입력
a,b = map(int, input().split())
pan=[]
for i in range(a):
pan.append([])
for j in range(b):
pan[i].append(0)
#막대기 관련 입력
n=int(input())
stick=[list(map(int, input().split())) for _ in range(n)]
#막대기 변환
for i in range(n):
if stick[i][1] == 0:
for j in range(0,stick[i][0]):
x=stick[i][2]-1
y=stick[i][3]-1
pan[x][y+j]=1
else:
for j in range(0,stick[i][0]):
x=stick[i][2]-1
y=stick[i][3]-1
pan[x+j][y]=1
#출력
for i in range(a):
for j in pan[i]:
print(j, end=" ")
print()
전체 코드는 이렇습니다.
728x90
반응형