[sw] 최대 점수를 얻어보자


문제 정보
check포인트 : 1 (부분 점수)
schedule시간 제한 : 2.0s
storage메모리 제한 : 512M
edit_square출제자:
 
해설 보기 답안 제출

\(N\) x \(N\) 크기의 보드판이 있으며, 보드판에서 각 칸에는 점수가 존재한다. \((0, 0)\)에서 시작하여 정확히 K개의 칸을 방문할 때 얻을 수 있는 최대 점수를 구해보자. 점수는 방문한 칸의 점수를 모두 합한 값이 된다. \((0, 0)\)은 맨 왼쪽 상단을 의미한다. 이동할 때에는 상,하,좌,우로 이동할 수 있으며, 이미 지난 칸은 다시 갈 수 없다.

입력 설명

입력은 첫 번째 줄에 \(N\)과 \(K\)가 순서대로 주어지며, 이후에 보드판의 점수가 \(N\) x \(N\) 형태로 주어진다.

출력 설명

\((0, 0)\)부터 시작하여 정확히 \(K\)개의 칸을 방문할 때 얻을 수 있는 최대 점수를 출력한다. \((0, 0)\)도 1개의 칸을 방문한 것으로 처리한다.

제약 조건

\(3 \le N \le 7\)

\(1 \le K \le 8\)

\(-100,000 \le\) 원소의 값 \(\le 100,000\)

예제 입력 1

3 4
1 2 3
-4 5 6
2 3 4

예제 출력 1

14

note

\((0, 0), (0, 1), (1, 1), (1, 2)\) 순으로 방문하면 \(1 + 2 + 5 + 6 = 14\)의 점수를 얻을 수 있고, 이때가 \((0, 0)\)을 시작으로 하여 \(4\)칸을 방문할 때 얻을 수 있는 최대 점수이다.

댓글

현재 작성된 댓글이 없습니다.