본문 바로가기

Algorithm/BAEKJOON

[BOJ] 5567번 결혼식 (C++)

728x90
반응형

https://www.acmicpc.net/problem/5567

 

5567번: 결혼식

예제 1의 경우 2와 3은 상근이의 친구이다. 또, 3과 4는 친구이기 때문에, 4는 상근이의 친구의 친구이다. 5와 6은 친구도 아니고, 친구의 친구도 아니다. 따라서 2, 3, 4 3명의 친구를 결혼식에 초대

www.acmicpc.net

 

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

int n, m;
vector<int> v[501];
bool visited[501];

int main() {
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	
	cin >> n >> m;
	for(int i = 0; i < m; i++){
		int a, b;
		cin >> a >> b;
		v[a].push_back(b);
		v[b].push_back(a);
	}
	
	int ans = 0;
	queue<int> q;
	q.push(1);
	visited[1] = true;
	
	for(int i = 0; i < v[1].size(); i++){
		q.push(v[1][i]);
		visited[v[1][i]] = true;
		ans++;
	}
	
	while(!q.empty()){
		int cur = q.front();
		q.pop();
		
		for(int i = 0; i < v[cur].size(); i++){
			int next = v[cur][i];
			if(visited[next]) continue;
			visited[next] = true;
			ans++;
 		}
	}
	cout << ans << endl;
	return 0;
}
728x90
반응형