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인 경우