1 2 3 4 5
1 2 5
1 3 4 2 5
1 3 4 5
1 4 2 5
1 4 5
✏️ 입력설명
첫째 줄에는 정점의 수 N(1<=N<=20)와 간선의 수 M가 주어진다. 그 다음부터 M줄에 걸쳐 연 결정보가 주어진다.
✏️ 출력설명
총 가지수를 출력한다.
✏️ 입력예제 1
5 9
1 2
1 3
1 4
2 1
2 3
2 5
3 4
4 2
4 5
✏️ 출력예제 1
6
function solution(n, arr){
const graph = Array.from({length:n+1},()=> Array());
const visited = Array.from({length:n+1},()=>0);
let answer = 0;
for(let [a,b] of arr){
graph[a].push(b);
}
function DFS(v){
if(v === n){
answer++;
return;
}
for(let i = 0; i<graph[v].length;i++){
if(visited[graph[v][i]]===0){
visited[graph[v][i]] = 1;
DFS(graph[v][i]);
visited[graph[v][i]] = 0;
}
}
}
visited[1] = 1;
DFS(1);
return answer;
}