홈 방범 서비스

<https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V61LqAf8DFAWu

쉬운 문제이다.

시뮬레이션 문제로 처음에 풀었다.

BFS로도 풀수 있다.

풀이 01

  1. k 일 때, 전체 집 개수를 대상으로 이익이 0 이상인지 체크한다.

  2. 이익이 0 이상이면, 마름모를 이동 시켜서 집 개수를 count 한다.

    마름모 이동이란, 예들 들어 k가 2일 때, 마름모의 중심에서 거리가 1이하인 지점을 체크하는 것이다.

  3. 서비스 제공 받는 집 수의 최대 값 구하기.

풀이 02

  1. i, j 지점에서 BFS를 시작한다. ( 모든 지점에서 BFS )
  2. i, j 지점에서 지도의 영역을 넓힐 수 없을 때 까지 k를 증가시킨다.
  3. 이익이 0 이상이면 집 개수의 최대 값을 구한다.

Comments