백준 [7569] 토마토 - 이차원 배열 풀이
2차원 탐색을 3차원으로 확장한 문제.
3차원 배열로 초기화해서 풀 수 있지만 같은 팀원이 2차원 배열로 시도해서 도와 줬다.
2차원 배열로 풀기 위해서 배열을 [(높이)*(세로), (가로)] 로 초기화 한뒤 x좌표의 경계조건을 아래와 같이 설정해준다.
방향 벡터를 다음과 같이 정의할 때
// N은 세로
dx = [1, -1, 0, 0, N, -N]
dy = [0, 0, 1, -1, 0, 0]
새로 탐색할 좌표가 주어진 (세로) 범위에서 벗어나면 탐색을 생략한다.
for i in range(6):
nx, ny = x+dx[i], y+dy[i]
// 상자의 가장 위 행보다 전으로 갈 수 없다.
if i == 0 and x%N == N-1:
continue
// 상자의 가장 아래 행보다 다음으로 갈 수 없다.
if i == 1 and x%N == 0:
continue
Author And Source
이 문제에 관하여(백준 [7569] 토마토 - 이차원 배열 풀이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dmddo1222/백준-7569-토마토-풀이저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)