DFS 알고리즘 문제 - 바이러스 (백준)

오랜만에 DFS 알고리즘 문제를 풀어보았다.

이 문제는 BFS 알고리즘으로도 가능하지만, 내 기준에는 DFS가 더 쉽기 때문에 DFS로 풀어보았다.


이 문제는 1시간이 걸렸는데.. 다 풀어놓고 왜 안되지 한참 고민하다가 보니까

연결된 컴퓨터 목록을 나타내는 배열인 net를 net[101][2]로 해놓았더라..

하나의 컴퓨터가 여러개의 컴퓨터와 연결이 될 수 있기 때문에 101 * 101이 되어야 하는게 맞다..

덜렁대다가 틀린거나 마찬가지.. 좀 더 문제를 신중하게 파악해야겠다..


DFS 알고리즘 - 바이러스 (백준)


01. 선언 및 초기화


02. DFS 알고리즘


03. 메인


이 문제는 조금 어려운게 있었는데, 컴퓨터가 체인처럼 이어져있다 보니

초기에 감염된 컴퓨터 뿐만아니라 그 컴퓨터를 통해 감염된 컴퓨터를 확인했다면

모든 연결망을 다시 확인해야 한다는 것.

물론 이 방법이 최선의 방법은 아닐 것이다. 더욱 좋은 알고리즘이 존재하겠지만

내가 생각한 풀이방법으로는 이 방법이 최선이었다..


아무튼 DFS, BFS 알고리즘은 왠만해선 다 풀 수있다고 자신했었는데

이 것도 안하다보니 감이 점점 떨어지는 것 같다.. 열심히 하자!





+ Recent posts