https://www.acmicpc.net/problem/2606
#include <bits/stdc++.h>
#define endl "\n"
using namespace std;
pair<int, bool> computer[101];
pair<int, int> connect[10500];
void virus(int size, int n) {
if (computer[n].second == true) {
for (int i = 0; i < size * 2; i++) {
if (connect[i].first != n || computer[connect[i].second].second == true) continue;
computer[connect[i].second].second = true;
virus(size, connect[i].second);
}
}
}
int main(void) {
/************** C++ Init **************/
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
/************** C++ Init **************/
int input1, input2;
int com1, com2;
int cnt = 0;
cin >> input1 >> input2;
for (int i = 1; i <= input1; i++) {
computer[i] = { i, false };
}
for (int i = 0; i < input2 * 2; i++) {
cin >> com1 >> com2;
connect[i] = { com1, com2 };
i++;
connect[i] = { com2, com1 };
}
computer[1].second = true;
virus(input2, 1);
for (int i = 2; i <= input1; i++) {
if (computer[i].second == true) {
cnt++;
}
}
cout << cnt;
}
'알고리즘' 카테고리의 다른 글
C++ 알고리즘 - 백준 9375 패션왕 신해빈 (0) | 2025.01.05 |
---|---|
C++ 알고리즘 - 백준 9095 1, 2, 3 더하기 (다이나믹 프로그래밍) (0) | 2025.01.05 |
C++ 알고리즘 - 백준 2579 계단 오르기 (다이나믹 프로그래밍) (0) | 2025.01.05 |
C++ 알고리즘 - 백준 1463 1로 만들기 (다이나믹 프로그래밍) (0) | 2025.01.04 |
C++ 알고리즘 - 백준 1003 피보나치 함수 (0) | 2025.01.04 |