백준 2606 c++

magicdrill·2024년 3월 11일

백준 문제풀이

목록 보기
133/673

백준 2606 c++

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

vector <int> graph[101];
vector <bool> visited(101);
int N, M, result = 0;

void input_graph()
{
	int i;
	int a, b;

	for (i = 0; i < M; i++)
	{
		cin >> a >> b;
		graph[a].push_back(b);
		graph[b].push_back(a);
	}

	return;
}

void DFS(int start)
{
	int temp, i;

	visited[start] = true;
	//cout << start << " ";
	for (i = 0; i < graph[start].size(); i++)
	{
		temp = graph[start][i];
		if (visited[temp] != true)
		{
			DFS(temp);
			result++;
		}
		else
		{
			;
		}
	}

	return;
}

int main(void)
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	cin >> N >> M;
	input_graph();
	DFS(1);
	cout << result << "\n";

	return 0;
}

0개의 댓글