만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

콜라 줍기

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

요약
두 사람이 각자 최단 경로로 상대의 집까지 이동하며, 출발점과 도착점을 제외하고 경로가 겹치지 않을 때 주울 수 있는 콜라의 최대 개수를 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 행렬
정답자
아직 제출이 없습니다

문제

키파는 카루나와 아주 친합니다. 둘은 N×NN \times N 격자 위에 살고 있고, 격자칸을 상하좌우로 이동할 수 있습니다. rr번째 행 cc번째 열의 격자칸을 (r,c)(r, c)로 표기합니다. 키파의 집은 (1,1)(1, 1)에, 카루나의 집은 (N,N)(N, N)에 있습니다.

그런데 아무리 친해도 둘 다 양보하지 않는 것이 하나 있습니다. 바로 좋아하는 콜라입니다. 키파는 코카콜라 제로를, 카루나는 펩시 제로를 좋아합니다.

어느 날 격자 위에 코카콜라 제로와 펩시 제로가 나타났다는 소식을 들었습니다. 둘은 통화로 오래 의논한 끝에 다음 규칙에 따라 격자칸의 콜라를 줍기로 했습니다.

  • 키파는 코카콜라 제로만, 카루나는 펩시 제로만 줍습니다.
  • 둘 다 서로의 집까지 최단 거리로 한 번 이동할 체력만 있고, 도착한 뒤에는 반드시 상대의 집에서 쉽니다. 두 집 사이의 최단 거리는 2(N−1)2(N-1)번 이동하는 것이므로, 둘 모두 정확히 그만큼 이동해서 키파는 카루나의 집에, 카루나는 키파의 집에 도착해야 합니다.
  • 코카콜라 제로와 펩시 제로는 이름처럼 무게가 0이라서 체력에 영향을 주지 않습니다.
  • 둘 다 코로나19가 걱정되어서, 두 경로는 두 집을 제외하고 격자칸을 하나도 공유하면 안 됩니다. 이동 중에 만나지 않는다는 조건보다 훨씬 강한 조건입니다.
  • 콜라가 많을수록 좋다는 데는 합의했으므로, 콜라의 종류와 상관없이 주운 개수의 합을 최대화하기로 했습니다.

입력

1행에 격자의 크기 NN이 주어집니다. (2≤N≤4002 \le N \le 400)

2행부터 NN개의 줄에 각 격자칸의 코카콜라 제로 개수가 주어집니다. (i+1)(i+1)번째 줄에 ci,1,ci,2,⋯ ,ci,Nc_{i,1}, c_{i,2}, \cdots, c_{i,N}이 공백으로 구분되어 주어집니다. (1≤i≤N1 \le i \le N, 모든 1≤i,j≤N1 \le i, j \le N에 대해 0≤ci,j≤1090 \le c_{i,j} \le 10^9)

(N+2)(N+2)번째 줄부터 NN개의 줄에 같은 형식으로 펩시 제로 개수가 주어집니다. (i+N+1)(i+N+1)번째 줄에 pi,1,pi,2,⋯ ,pi,Np_{i,1}, p_{i,2}, \cdots, p_{i,N}이 주어지며, 모든 1≤i,j≤N1 \le i, j \le N에 대해 0≤pi,j≤1090 \le p_{i,j} \le 10^9입니다.

키파의 집과 카루나의 집에는 콜라가 없습니다. 즉, 입력은 항상 c1,1=cN,N=p1,1=pN,N=0c_{1,1} = c_{N,N} = p_{1,1} = p_{N,N} = 0을 만족합니다.

출력

조건을 만족하면서 키파와 카루나가 주울 수 있는 콜라 개수 합의 최댓값을 출력합니다.

힌트

방법은 두 가지가 있습니다.

  • 키파가 'ㄱ'자 모양으로 카루나의 집에 가고, 카루나가 'ㄴ'자 모양으로 키파의 집에 갑니다. 이때 키파는 코카콜라 제로를 5개, 카루나는 펩시 제로를 3개 주울 수 있어서 합은 5 + 3 = 8입니다.
  • 키파가 'ㄴ'자 모양으로 카루나의 집에 가고, 카루나가 'ㄱ'자 모양으로 키파의 집에 갑니다. 이때 키파는 코카콜라 제로를 2개, 카루나는 펩시 제로를 4개 주울 수 있어서 합은 2 + 4 = 6입니다.

두 방법 중 콜라를 더 많이 줍는 것은 첫 번째 방법이므로 8을 출력합니다.

예제1

  1. 예제 1

    입력
    2
    0 5
    2 0
    0 4
    3 0
    
    예상 출력
    8