그런데 이것이 후퇴를 한다는 개념은 아니고, 방문체크 해제하지 않음.
후퇴할때 방문체크를 해제해서 , 새로운 경우의 수 찾을 때 다시 활용함.


dfs를 진행했는데, 복귀를 하지 않으므로, 앞선 인덱스로 진행했는데, 연결되지 않아서, 타겟으로 돌아와서 진행하는 것은 연결된 것이 아니다.
모두 하나로 a -> b 순으로 연결된것을 보여줘야 한다.
=> 즉 dfs가 아니라, 백트래킹을 진행해야 함.
예를 들면 1,2,3,4,5 중에서 3개를뽑아 순열로 표현하라는 식.

솔직히 문제에서 주어진 입출력 예제만 보면, dfs로 풀면되지 않을까? 생각함.
1) dfs 코드 어찌 저찌 해서 작성함.
-> 틀렸다.

2) 심지어 종착지만 있는것도 반례 처리했는데..

ICN->ATL->ICN 복귀를 하고 있다.
dfs 코드대로 생각해보면, 다시 복귀를 해서 탐색진행을 하고 있는데, 이거는 복귀냐? 아니면 갈곳 없어서, 다시 돌아와서 진행하는거냐? 생각할 수 있다.
그런데 다른 방법을 또 제시하고 있다.
즉, 방문체크를 해제하고 모든 경우의 수를 확인하고 있으니 백트래킹으로 가야한다.


입출력 예제 1,2번만 보고 dfs를 선택했는데 틀림.
0) 입출력만 가지고 판단하지 말자.
-> 맹신하지 말자...
1) 이러한 경우가 있다.
-> 일반적인 dfs로는 풀수 없다.
후퇴를 해야하므로, 백트래킹으로 가야한다.

2) 문제의 조건 중에 "티켓을 다 써야한다고" 했다.
-> 그런데 1번의 그래프처럼 순환트리구조로 되어 있을 수 있음을 생각해야 한다.

입출력 1번 단일방향으로 되어 있따.

3) 2번 예제를 그려보면, 일반적인 dfs로는 불가하고 백트래킹해야 한다는 생각을 해야 함.
-> icn에서 atl갔다가 다시 icn와서 sfo로 가는 경로는 진행, 후퇴,진행하는 순이므로, 백트래킹을 먼저 떠올려야 한다.



결론
: 복귀를 가지고 있으면 dfs를 생각하지 말고, 백트래킹 생각하자.
