if(!visited[i]) {

visited[i] = true;

dfs(cnt+1);

visited[i]=false;

}


여기서 저 false로 바뀌는 실행순서가 어떻게 되서 모든경우를 다도는거냐

그냥 dfs형식이 이렇구나 하고 외우는게 맘편한가