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

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

소 사방치기

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

요약
왼쪽 위 칸에서 오른쪽 아래 칸까지 아래쪽과 오른쪽으로 이동하며 연속된 칸의 숫자가 달라지도록 이동하는 경로 수를 셉니다.
난이도

보통10점 중 7점

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

문제

농부 존의 소들이 사람의 사방치기를 흉내 내서 자기들만의 놀이를 만들었다. 몸무게가 1톤에 가까운 동물이 하는 놀이라 대부분 엉망으로 끝나지만, 소들은 거의 매일 오후마다 다시 모인다.

놀이판은 R×CR \times C 격자이고, 각 칸에는 11 이상 KK 이하의 정수가 하나씩 적혀 있다.

소는 왼쪽 위 칸에서 출발해 여러 번 뛰어서 오른쪽 아래 칸까지 간다. 지금 있는 칸에서 다른 칸으로 뛰려면 다음 세 조건을 모두 만족해야 한다.

  1. 뛰어갈 칸에 적힌 정수가 지금 칸에 적힌 정수와 다르다.
  2. 뛰어갈 칸이 지금 칸보다 최소 한 행 아래에 있다.
  3. 뛰어갈 칸이 지금 칸보다 최소 한 열 오른쪽에 있다.

왼쪽 위 칸에서 오른쪽 아래 칸까지 가는 서로 다른 뛰기 순서가 몇 가지인지 구하라. 거쳐 간 칸의 목록이 다르면 서로 다른 순서로 센다.

입력

첫째 줄에 RR, CC, KK가 주어진다. (2≤R≤7502 \le R \le 750, 2≤C≤7502 \le C \le 750, 1≤K≤R×C1 \le K \le R \times C)

다음 RR개 줄에는 각각 CC개의 정수가 주어진다. 모두 11 이상 KK 이하이다.

출력

왼쪽 위 칸에서 오른쪽 아래 칸까지 가는 방법의 수를 10000000071000000007로 나눈 나머지를 출력한다.

예제7

  1. 예제 1

    입력
    4 4 4
    1 1 1 1
    1 3 2 1
    1 2 4 1
    1 1 1 1
    
    예상 출력
    5
    
  2. 예제 2

    입력
    2 2 2
    1 2
    2 1
    
    예상 출력
    0
    
  3. 예제 3

    입력
    2 2 2
    1 1
    1 2
    
    예상 출력
    1
    
  4. 예제 4

    입력
    2 2 1
    1 1
    1 1
    
    예상 출력
    0
    
  5. 예제 5

    입력
    3 3 9
    1 2 3
    4 5 6
    7 8 9
    
    예상 출력
    2
    
  6. 예제 6

    입력
    5 5 25
    1 2 3 4 5
    6 7 8 9 10
    11 12 13 14 15
    16 17 18 19 20
    21 22 23 24 25
    
    예상 출력
    20
    
  7. 예제 7

    입력
    4 6 3
    1 2 3 1 2 3
    3 1 2 3 1 2
    2 3 1 2 3 1
    1 1 2 2 3 3
    
    예상 출력
    3