[BOJ]11724-연결 요소의 개수

yoon_H·2024년 10월 4일

BOJ

목록 보기
103/110

11724

성공코드

#include <iostream>
#include <queue>
using namespace std;

int N, M;

int cnt = 0;

bool arr[1002][1002];

int visited[1002];

queue<int> q;

void search(int num)
{
	cnt += 1;

	int cur = num;

	while (!q.empty())
	{
		cur = q.front();
		q.pop();

		for (int i = 1; i <= N; i++)
		{
			if (visited[i] == 0)
			{
				if (arr[cur][i])
				{
					q.push(i);
					visited[i] = cnt;
				}
			}
		}
	}
}

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

	cin >> N >> M;

	for (int i = 0; i < M; i++)
	{
		int input, output;

		cin >> input >> output;

		arr[input][output] = true;
		arr[output][input] = true;
	}

	for (int i = 1; i <= N; i++)
	{
		if (visited[i] == 0)
		{
			q.push(i);
			visited[i] = cnt;
			search(i);
		}
	}

	cout << cnt;

}

0개의 댓글