함수 복원
시간 제한1.5초메모리 제한1024 MB
N개 정점의 함수 그래프에 대한 도달 가능 행렬이 주어질 때, 이와 일치하는 함수 f의 개수를 10^9+7로 나눈 나머지를 구한다.
문제
자연수 이 주어질 때, 이상 이하의 자연수 에 대해 정의되는 함수 가 있다. 모든 에 대해 또한 이상 이하의 자연수다.
에 대한 함수 그래프를 정점 에서 정점 로 향하는 단방향 간선들로 이루어진 그래프라 부르자. 이 그래프는 에 따라 유일하게 결정된다.
우리는 함수 를 알지 못하지만, 에 대한 함수 그래프에서 모든 정점에 대한 도달 가능성 정보를 가지고 있다. 정점 에서 정점 에 도달 가능하다는 것은 개 이상의 간선을 통해 정점 에서 정점 로 갈 수 있다는 뜻이다.
함수 로 가능한 경우의 수를 구하여라.
입력
첫 줄에 이 주어진다. ()
그 후, 개의 줄에 걸쳐 에 대한 함수 그래프에서 도달 가능성 정보가 공백으로 구분되어 주어진다. 번째 줄의 번째 수는 에서 에 도달 가능하면 , 그렇지 않으면 이다. 가능한 함수 가 존재하지 않는 경우는 주어지지 않는다.
출력
함수 로 가능한 경우의 수를 로 나눈 나머지를 출력한다.