python에서 처음 본 조건문이다.
dfs를 공부하다가 알게되었는데,
신기했다.
for i in range(1, n+1):
        if not visited_dfs[i] and graph[v][i]:
            dfs(i)
여기서 if not visited_dfs[i] and graph[v][i]의 경우
1과 0을 넣어서 비어있는지 아닌지를 판단했다.
그래서 방문하면 1을 넣었는데,
1이 아니라 0인 경우 방문해야한다.
if(A)와 if(!A)에 관해서 정리한 적이 있는데
if(A)는 A인 경우에만 동작한다고 이해했다.
즉, A가 0이 아닌 경우
if(!A)의 경우에는 A가 아닌 경우에 동작한다고 이해했다.
즉, A가 0인 경우
따라서 if not visited_dfs[i]의 경우에도 if(!A)처럼 생각하면 된다!
if not visited_dfs[i]인 경우 visited_dfs[i]가 아닌 경우
즉, visited_dfs[i]가 0인 경우