반응형
바이러스
난이도: Silver 3
번호: 2606
알고리즘 분류: 그래프 이론, 그래프 탐색, 깊이 우선 탐색, 너비 우선 탐색
언어: C++
C++
#include <iostream>
using namespace std;
int N, P;
// 컴퓨터가 최대 100개 이므로 path도 최대 100 * 100
bool path[101][101];
bool visited[101];
void DFS(int S)
{
visited[S] = true;
for (int i = 1; i <= N; i++)
if (!visited[i] && path[S][i])
DFS(i);
}
int main(void)
{
cin.tie(0)->sync_with_stdio(0);
cout.tie(0);
cin >> N >> P;
for (int i = 0; i < P; i++)
{
int a, b;
cin >> a >> b;
path[a][b] = true;
path[b][a] = true;
}
DFS(1);
int cnt = 0;
for (int i = 0; i <= N; i++)
if (visited[i])
cnt++;
cout << cnt - 1;
}
반응형
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ 4963] 섬의 개수 C++ (0) | 2023.02.09 |
---|---|
[BOJ 1012] 유기농 배추 C++ (0) | 2023.02.08 |
[BOJ 2422] S5 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 {C++, Java, Kotlin, Python} (0) | 2022.12.18 |
[BOJ 11536] S5 줄세우기 { C++, Java, Python, Kotlin } (0) | 2022.12.17 |
[ BaekJoon ] 단계별로 풀기 4. while (Python & Java & JS) (0) | 2021.12.09 |