아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

플래닛백

면접 대비

시간 제한1초메모리 제한1024 MB

요약
각 칸에 0부터 9까지의 높이가 적힌 격자에서, 8방향으로 인접한 칸을 따라가되 높이가 높아지지 않는 단순 경로의 최대 길이를 구한다. 같은 높이의 칸은 7개 이하이다.
난이도

보통10점 중 7점

유형
DFS, 백트래킹, 그래프, 구현
정답자
아직 제출이 없습니다

문제

그리 멀지 않은 미래에 연구자들은 우리 태양계에서 이전에 알려지지 않았던 행성을 하나 발견했을 뿐만 아니라(Planet X 문제 참고), 이제는 행성 Y라고 불리는 행성을 하나 더 발견했다.

연구자들은 행성 Y의 지형이 어떻게 생겼는지에 관심이 있으며, 이를 매우 정밀하게 측정하는 데 성공했다. 표면은 N×MN \times M 격자로 나타내고, 각 칸에는 0과 9 사이의 측정된 높이가 있다.

많은 사람이 기뻐할 만하게도 행성 Y는 스키를 타기에 완벽한 기후를 가지고 있다(짐작하겠지만 그 시점에 지구에는 더 이상 눈이 없다). 행성 Y에 지을 수 있는 가장 긴 스키 슬로프를 계산하는 프로그램을 작성하시오.

스키 슬로프는 칸들의 연속된 나열이어야 하며, 나열에서 이웃한 두 칸은 변이나 꼭짓점을 공유한다(아래 그림 참고). 또 나열의 각 칸은 바로 앞 칸보다 높이가 높아서는 안 된다. 따라서 원칙적으로 스키 슬로프의 모든 칸이 같은 높이인 것도 허용된다. 같은 칸을 여러 번 사용할 수는 없지만, 아래 두 번째 예시처럼 스키 슬로프가 꼭짓점에서 자기 자신과 교차할 수는 있다.

입력

첫째 줄에 두 정수 1≤N,M≤71 \le N,M \le 7이 주어진다. 이는 격자의 행과 열의 수이다. 이어서 NN개의 줄이 주어지고, 각 줄에는 MM개의 문자가 있다. ii번째 줄의 jj번째 문자는 칸의 높이에 해당하는 0과 9 사이의 숫자이다. 격자에서 같은 높이를 가진 칸은 절대 7개를 넘지 않는다.

출력

프로그램은 하나의 정수를 출력한다. 이는 유효한 스키 슬로프에 포함될 수 있는 칸의 최대 개수이다.

힌트

예제2

  1. 예제 1

    입력
    3 4
    1323
    2301
    3415
    
    예상 출력
    8
    
  2. 예제 2

    입력
    2 2
    52
    25
    
    예상 출력
    4