본문 바로가기

BOJ 2606번 : 바이러스 본문

BOJ

BOJ 2606번 : 바이러스

00rigin 2020. 4. 14. 17:42

DFS를 가장 기본적으로 사용하는 알고리즘 문제였다.

전 글에서 사용했던 dfs 를 그대로 사용하여 풀었다.

 

>> DFS BFS 설명 바로가기

 

BOJ 1260번 : DFS와 BFS

다른 문제를 풀다가 DFS구현에서 계속 문제가 발생해서 초심으로 돌아가고자 DFS와 BFS를 복습...할겸 풀었다. 역시나 자주 사용하지 않던 알고리즘이라 그런지 구현 방식부터 틀렸었더라..... 공부하자 공부! <..

00rigin.tistory.com

<소스코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>
using namespace std;
int chk[101= { 0, };
int arr[101][101= { 0, };
int n, m;
int cnt=0;
 
void dfs(int v) {
    chk[v] = 1;
    for (int i = 1; i <= n; i++) {
        if (!chk[i] && arr[v][i]) {
            cnt++;
            dfs(i);
        }
    }
}
 
int main() {
    int a, b;
    cin >> n;
    cin >> m;
    for (int i = 0; i < m; i++) {
        cin >> a >> b;
        arr[a][b] = arr[b][a] = 1;
    }
    dfs(1);
    cout << cnt;
}

 

<문제>

https://www.acmicpc.net/problem/2606

 

2606번: 바이러스

첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어진다. 이어서 그 수만큼 한 줄에 한 쌍씩 네트워크 상에서 직접 연결되어 있는 컴퓨터의 번호 쌍이 주어진다.

www.acmicpc.net

 

'BOJ' 카테고리의 다른 글

BOJ 2178번 : 미로탐색  (0) 2020.04.14
BOJ 2667번 : 단지번호붙이기  (0) 2020.04.14
BOJ 1260번 : DFS와 BFS  (0) 2020.04.13
BOJ 1010번 : 다리 놓기  (0) 2020.04.12
BOJ 1670번 : 정상 회담 2  (0) 2020.04.12
Comments