728x90
반응형
https://www.acmicpc.net/problem/2606
#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<int> v[101];
bool isVisited[101];
int result = 0;
void findVirus(){
queue<int> q;
q.push(1);
isVisited[1] = true;
while(!q.empty()){
int front = q.front();
q.pop();
result++;
for(int i=0; i<v[front].size(); i++){
int x = v[front][i];
if(!isVisited[x]){
isVisited[x] = true;
q.push(x);
}
}
}
}
void input(){
cin >> n >> m;
for(int i=0; i<m; i++){
int x, y;
cin >> x >> y;
v[x].push_back(y);
v[y].push_back(x);
}
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
input();
findVirus();
cout << result - 1;
return 0;
}
728x90
반응형
'알고리즘 > BFS & DFS' 카테고리의 다른 글
[백준/BFS&DFS/C++] 1012번 유기농 배추 (0) | 2023.02.28 |
---|---|
[백준/BFS&DFS/C++] 9205번 맥주 마시면서 걸어가기 (0) | 2023.02.17 |
[백준/구현/BFS&DFS/C++] 2573번 빙산 (0) | 2023.02.09 |
[백준/BFS&DFS/C++] 2468번 안전 영역 (0) | 2023.02.04 |
[백준/BFS&DFS/C++] 2644번 촌수계산 * (0) | 2023.02.01 |