설명
\(N\)개의 정점 (\(0 \dots N-1\))으로 이루어진 무방향 그래프가 인접 행렬로 주어진다. 해밀턴 경로의 개수, 즉 서로 다른 모든 정점을 나열한 수열 \((v_1, \dots, v_N)\) 중 인접한 두 정점이 항상 간선으로 연결된 것의 개수를 세시오. 어떤 경로와 그 역순은 서로 다른 두 수열로 센다.
제약
입력 형식
첫 줄에 \(N\) (\(1 \le N \le 12\))이 주어진다. 이어지는 \(N\)개의 줄에는 각 \(N\)개의 정수(\(0\) 또는 \(1\))가 주어지며, \(i\)번째 줄의 \(j\)번째 값이 \(1\)이면 정점 \(i\)와 \(j\) 사이에 간선이 있다 (\(a_{ii}=0\), \(a_{ij}=a_{ji}\)).
출력 형식
해밀턴 경로의 개수를 출력한다.
예제 1
입력
1
0
출력
1
예제 2
입력
3
0 1 1
1 0 1
1 1 0
출력
6
예제 3
입력
3
0 1 0
1 0 1
0 1 0
출력
2
문제 정보
riseoj 작성
출처 RiseOJ Basics
태그