결혼식 - 5567
2025. 2. 12. 15:38ㆍPS/백준
문제
https://www.acmicpc.net/problem/5567
느낀점
기본적인 그래프 문제
풀이
#include <iostream>
#include <map>
#include <vector>
#include <algorithm>
int main()
{
int n, m;
int start, end;
std::map<int, std::vector<int>> friends;
std::cin >> n;
std::cin >> m;
std::vector<bool> invited(501, false);
for (int i = 0; i < m; i++)
{
std::cin >> start >> end;
friends[start].push_back(end);
friends[end].push_back(start);
}
for (auto &pair : friends)
{
if (pair.first == 1)
{
for (size_t i = 0; i < pair.second.size(); i++)
{
if (!invited[pair.second[i]])
{
invited[pair.second[i]] = true;
}
for (size_t j = 0; j < friends[pair.second[i]].size(); j++)
{
if (!invited[friends[pair.second[i]][j]] && friends[pair.second[i]][j] != 1)
{
invited[friends[pair.second[i]][j]] = true;
}
}
}
}
if (find(pair.second.begin(), pair.second.end(), 1) != pair.second.end())
{
for (size_t i = 0; i < pair.second.size(); i++)
{
if (!invited[pair.second[i]] && pair.second[i] != 1)
{
invited[pair.second[i]] = true;
}
}
}
}
std::cout << count(invited.begin(), invited.end(), true) << "\n";
return 0;
}
'PS > 백준' 카테고리의 다른 글
창고 다각형 - 2304 (0) | 2025.02.12 |
---|---|
참외밭 - 2477 (0) | 2025.02.12 |
점프 점프 - 11060 (0) | 2025.02.12 |
양 한마리... 양 두마리... - 11123 (0) | 2025.02.12 |
그대, 그머가 되어 - 14496 (0) | 2025.02.12 |