본문 바로가기

알고리즘 풀이

백준 5567번 결혼식

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


#include <cstdio>
using namespace std;
int n, m, x, y;
int map[501][501] = {0, };
bool visit[501] = {0, };

int main()
{
int result = 0;
scanf("%d %d", &n, &m);
for (int i = 0; i < m; ++i){
scanf("%d %d", &x, &y);
map[x][y] = map[y][x] = 1;
}
for (int i = 2; i <= n; ++i) {
if (map[1][i] == 1 || map[i][1]) { // 1이랑 친구인 사람
for (int j = 1; j <= n; ++j) {
if (map[i][j] == 1 || map[j][i]) { // 1이랑 친구인 사람의 친구(즉, 친구의 친구)
visit[i] = visit[j] = true;
}
}
}
}
for (int i = 2; i <= n ; ++i) {
if (visit[i]) {
result++;
}
}
printf("%d ", result);
return 0;
}


'알고리즘 풀이' 카테고리의 다른 글

백준 1259번 팰린드롬 수  (0) 2018.04.08
백준 7576번 토마토  (0) 2018.04.03
백준 6359번 만취한 상범  (0) 2018.02.07
백준 2302번 극장 좌석  (0) 2018.02.02
백준 9084번 동전  (0) 2018.01.24