DFS11 2606 : 바이러스 (C++) 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net 먼저 DFS로 푼 방식이며 인접리스트를 활용하였다. 1번 컴퓨터를 통해 감염되는 컴퓨터의 수를 출력하므로 마지막에 센 숫자에서 1을 빼준다. #include #include #include using namespace std; int cnt = 0; void dfs(int start, vector graph[], bool check[]) { check[start] = true; cnt++; for(int i = 0; i < graph[start].size(); i++.. 2021. 2. 3. 1260 : DFS와 BFS (C++) 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net #include #include #include #include using namespace std; void dfs(int start, vector graph[], bool check[]) { check[start] = true; printf("%d ", start); for(int i = 0; i < graph[start].size(); i++) { int next = graph[start][i]; if(check[nex.. 2021. 2. 3. 이전 1 2 다음