Algorithm

[Algorithm] BOJ 5567 : 결혼식

kimsangjunzzang 2024. 11. 26. 07:37
728x90
반응형
#include <iostream>
#include <vector>

using namespace std;

bool visited[501];
vector<int> graph[501];

void DFS(int now, int depth) {

/// 본인의 친구와 본인의 친구의 친구까지 참가하기에 깊이 2를 넘어갈 필요가 없다.
    if (depth == 2) {
        return;
    }
    for (int i = 0; i < graph[now].size(); i++) {
        int next = graph[now][i];
        visited[next] = true;
        DFS(next, depth + 1);
    }
}

int main() {
    int n, m; cin >> n >> m;
    int res = 0;

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

    visited[1] = true;
    DFS(1, 0);

    /// visited == true 갯수 반환
    /// i==1 일 경우 본인이기에 제외
    for (int i = 2; i <= n; i++) {
        if (visited[i]) {
            res++;
        }
    }
    cout << res << endl;
}

 

728x90
반응형