DFS 알고리즘 문제 - 바이러스 (백준)
오랜만에 DFS 알고리즘 문제를 풀어보았다.
이 문제는 BFS 알고리즘으로도 가능하지만, 내 기준에는 DFS가 더 쉽기 때문에 DFS로 풀어보았다.
이 문제는 1시간이 걸렸는데.. 다 풀어놓고 왜 안되지 한참 고민하다가 보니까
연결된 컴퓨터 목록을 나타내는 배열인 net를 net[101][2]로 해놓았더라..
하나의 컴퓨터가 여러개의 컴퓨터와 연결이 될 수 있기 때문에 101 * 101이 되어야 하는게 맞다..
덜렁대다가 틀린거나 마찬가지.. 좀 더 문제를 신중하게 파악해야겠다..
DFS 알고리즘 - 바이러스 (백준)
01. 선언 및 초기화
02. DFS 알고리즘
03. 메인
이 문제는 조금 어려운게 있었는데, 컴퓨터가 체인처럼 이어져있다 보니
초기에 감염된 컴퓨터 뿐만아니라 그 컴퓨터를 통해 감염된 컴퓨터를 확인했다면
모든 연결망을 다시 확인해야 한다는 것.
물론 이 방법이 최선의 방법은 아닐 것이다. 더욱 좋은 알고리즘이 존재하겠지만
내가 생각한 풀이방법으로는 이 방법이 최선이었다..
아무튼 DFS, BFS 알고리즘은 왠만해선 다 풀 수있다고 자신했었는데
이 것도 안하다보니 감이 점점 떨어지는 것 같다.. 열심히 하자!
'알고리즘' 카테고리의 다른 글
[알고리즘][BFS] 효울적인 해킹(백준) - 시간 초과 (0) | 2017.06.07 |
---|---|
[알고리즘][DFS] 순열 사이클(백준) (0) | 2017.06.06 |
[알고리즘][다이나믹(동적 계획법) 기초] 동전1 (백준) (0) | 2017.05.25 |
[알고리즘][다이나믹(동적 계획법) 기초] 포도주 시식 (백준) (0) | 2017.05.19 |
[알고리즘][BFS] 미로 탐색 (백준) (0) | 2017.04.25 |