코드업 6097 - 설탕과자 뽑기

2022. 2. 6. 19:30·기타

그냥.. 파이썬 익힐겸.. 간단히.. 

 

 

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
컴퓨터 화면을 태블릿에서 보기 | 컴퓨터화면을 미러링 | 태블릿을 모니터로 쓰는 깔끔한 방법  (4) 2021.08.31
[윈도우10] 프로그램 설치 없이 태블릿 화면 미러링하기  (6) 2021.08.31
'기타' 카테고리의 다른 글
  • 티스토리 | 더보기 버튼 가운데 정렬하는 방법
  • 코드업 6098 - 성실한 개미
  • 코드업 6096 - 바둑알 십자 뒤집기
  • 컴퓨터 화면을 태블릿에서 보기 | 컴퓨터화면을 미러링 | 태블릿을 모니터로 쓰는 깔끔한 방법
히어로맛쿠키
히어로맛쿠키
  • 히어로맛쿠키
    yeny_lab
    히어로맛쿠키
  • 전체
    오늘
    어제
    • 분류 전체보기 (389)
      • 미분류글 (32)
        • ㅇ (2)
      • JAVA (84)
        • Effective Java (1)
        • Application (21)
      • 컴퓨터구조 & OS (28)
      • 자료구조 + 알고리즘 (43)
      • Database (12)
      • 컴파일러 (10)
      • 수학 (33)
        • 미분방정식 (12)
      • 데이터분석과 머신러닝 (38)
      • 기타 (59)
      • yyeeennyy (25)
  • 공지사항

    • ^o^/♡
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
히어로맛쿠키
코드업 6097 - 설탕과자 뽑기
상단으로

티스토리툴바