Fresh Matrix
시간 제한6초메모리 제한256 MB
변을 공유하는 1이 없고 0인 칸이 모두 한 덩어리로 이어지는 n행 m열 행렬의 개수를 소수 p로 나눈 나머지로 구합니다.
문제
0과 1로 이루어진 행렬에서 변을 공유하는 두 칸에 모두 1이 놓이지 않으면 좋은 행렬이라고 한다. 0과 1로 이루어진 행렬에서 임의의 두 0 사이에 1이 없는 경로가 있고, 경로에서 연속한 두 칸이 변을 공유하면 연결된 행렬이라고 한다.
행 열인 좋은 그리고 연결된 0과 1의 행렬은 몇 개인가? 답이 매우 클 수 있으므로 소수 로 나눈 나머지만 출력한다.
입력
첫째 줄에 세 정수 , , 가 주어진다. 은 행의 수, 은 열의 수, 는 나눗셈에 쓸 소수이다. (; ; ; 는 소수이다.)
출력
좋고 연결된 행렬의 개수를 로 나눈 나머지를 정수 하나로 출력한다.