관리 메뉴

기억을 위한 기록들

[백준 2606 : 바이러스] - C++ 본문

Coding Test - cpp/DFS

[백준 2606 : 바이러스] - C++

에드윈H 2021. 1. 11. 21:53

www.acmicpc.net/problem/2606

 

2606번: 바이러스

첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어

www.acmicpc.net

#include <iostream>

using namespace std;
int map[100][100];
int Check[100];
int Computer = 0;
int Line = 0;
int cnt = 0;

void DFS(int n){

	Check[n] = 1;
	cnt++;
	for (int i = 1; i <= Computer; i++)
	{

		if (Check[i] == 1)
			continue;

		if (map[n][i] == 1) 
		{
			DFS(i);
		}
	}
}

int main()
{
	cin >> Computer >> Line;

	for (int i = 0; i < Line; i++) 
	{
		int n, m;
		cin >> n >> m;
		map[n][m]=1;
		map[m][n] = 1;
	}

	Check[1] = 1;
	cnt = 1;

	DFS(1);

	cout << cnt << endl;
	return 0;
}

'Coding Test - cpp > DFS' 카테고리의 다른 글

[백준 2644: 촌수계산] - C++  (0) 2021.01.21
[백준 11725 : 트리의 부모 찾기] - C++  (0) 2021.01.21
미로탐색(DFS)  (0) 2021.01.08
특정 수 만들기 (DFS)  (0) 2021.01.08
[프로그래머스] lv 2 타겟넘버 [DFS] - C++  (0) 2020.12.20