Algorithm/BOJ
[BOJ 2606] S3 바이러스 C++
surimi🍥
2023. 2. 7. 06:10
반응형
바이러스
난이도: 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;
}
반응형