[BOJ20058] 마법사 상어와 파이어스톰

Updated:

문제

  • 2^n*2^n 격자 얼음판
  • A[r][c]는 (r, c)의 얼음의 양
  • 단계 L => 2^L*2^L 크기의 부분 격자로 나누기
  • 부분 격자를 90도 회전
  • 인접한 칸 3개 미만이면 얼음 양 1 줄이기

입력

  • n, q
  • A[r][c]
  • q만큼 L1, L2… Lq

출력

  • 남은 얼음 A[r][c] 합, 가장 큰 덩어리가 차지하는 칸의 개수

설계

  • pow(2, n) or 1 << N 을 이용해 2의 제곱으로 변환한 값으로 접근
  • L단계 만큼 rotation
    • 각 격자무늬를 탐색하는 2중 for문
    • 격자무늬 내에서 시계방향으로 90도 회전하는 2중 for문
  • 사방에 얼음이 3개 미만이면 1 줄이기
  • q번 반복
  • 얼음 양, bfs이용한 최대 덩어리 양 출력

How I solved(click to github)


ref :
BOJ20058

Leave a comment