BOJ 2606번 : 바이러스 본문
DFS를 가장 기본적으로 사용하는 알고리즘 문제였다.
전 글에서 사용했던 dfs 를 그대로 사용하여 풀었다.
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