문제 : https://www.acmicpc.net/problem/2606
깊이 우선 탐색 알고리즘을 사용하면 아주 쉽게 풀 수 있는 문제다.
1번 컴퓨터와 연결된 컴퓨터에 대해서만 탐색을 하면 된다.
#include <iostream>
#include <vector>
using namespace std;
bool visited[101];
vector<int> graph[101];
int cnt=0;
void dfs(int x){
cnt++;
visited[x]=true;
for(int i : graph[x]){
if(!visited[i]){
dfs(i);
}
}
}
int main(){
int a,b;
cin >> a>> b;
for(int i=0; i<b;i++){
int c,d;
cin >> c>> d;
graph[c].push_back(d);
graph[d].push_back(c);
}
dfs(1);
cout << cnt-1;
}
'백준 문제풀이(BOJ PS)' 카테고리의 다른 글
[백준(BOJ)] 1302번 베스트셀러 C++ (2) | 2022.07.12 |
---|---|
[백준(BOJ)] 1260번 DFS와 BFS C++ (0) | 2022.07.05 |
[백준(BOJ)] 2839번 설탕배달 C++ (그리디 알고리즘) (0) | 2022.07.04 |
[백준(BOJ)] 5585번 거스름돈 C++ (0) | 2022.07.04 |
[백준(BOJ)] 2217번 로프 C++ (0) | 2022.07.04 |