만드는 중입니다

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

꿀 투어

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

요약
위아래로 K번 이어 붙인 N×M 격자에서 입구와 출구 쌍마다 지나갈 수 있는 꿀단지의 최대 개수와 그 개수를 얻는 경로 수를 구합니다.
난이도

어려움10점 중 9점

유형
동적 계획법, 비트 연산, 그래프, 행렬
정답자
아직 제출이 없습니다

문제

작은 곰 코마는 꿀을 아주 좋아한다. 어느 날 코마는 꿀로 가득 찬 창고를 발견했다. 이 창고에는 입구가 MM개, 출구가 MM개 있고, 미로처럼 매우 복잡하게 생겼다. 코마는 곧 창고의 구조를 파악하고 지도를 그렸다. 지도는 N⋅KN \cdot K행 MM열의 2차원 격자이다. 각 칸에는 장애물 또는 꿀통이 있다. 지도에는 특별한 성질이 하나 있다. 같은 N×MN \times M 격자가 KK개 위아래로 똑같이 이어 붙어 있다는 것이다.

MM개 열 각각의 윗변은 입구, 아랫변은 출구이다. 코마는 다음 규칙에 따라 창고를 둘러본다.

  1. 코마는 입구 중 하나로 들어가 출구 중 하나로 나간다.
  2. 코마는 변을 공유하는 칸으로 이동할 수 있다.
  3. 코마는 장애물이 없는 칸에만 머무를 수 있다.
  4. 코마는 각 칸을 최대 한 번 방문할 수 있다.
  5. 코마는 방문한 꿀통에서 꿀을 먹을 수 있다.

코마는 가능한 한 많은 꿀통을 방문하려 한다. 각 입구 ii와 각 출구 jj에 대해 두 정수를 구하라. 하나는 ii번 입구로 들어가 jj번 출구로 나갈 때 방문할 수 있는 꿀통의 최대 개수이고, 다른 하나는 그 최대 개수에 도달하는 둘러보기 방법의 수이다. 방법의 수는 클 수 있으므로 109+710^{9} + 7로 나눈 나머지를 구하라.

입력

첫 줄에 세 정수 NN, MM, KK가 주어진다 (1≤N≤51 \le N \le 5, 2≤M≤72 \le M \le 7, 2≤N⋅M≤252 \le N \cdot M \le 25, 1≤K≤1091 \le K \le 10^{9}).

이어서 NN줄에 각각 MM개의 문자가 주어지며 반복되는 패턴을 나타낸다. '.'은 꿀통이 있는 칸, 'X'는 장애물이 있는 칸이다.

출력

M×MM \times M 행렬 두 개를 차례로 출력하라. 첫 번째 행렬에는 방문할 수 있는 꿀통의 최대 개수를, 두 번째 행렬에는 그 최대 개수에 도달하는 방법의 수를 109+710^{9} + 7로 나눈 나머지를 쓴다. 각 행렬의 ii번째 줄 jj번째 수는 ii번 입구로 들어가 jj번 출구로 나가는 경우에 해당한다.

예제1

  1. 예제 1

    입력
    2 2 3
    ..
    .X
    
    예상 출력
    6 0
    7 0
    1 0
    1 0