백준 24479 C++

2022. 5. 28. 15:39알고리즘/백준

728x90
#include<iostream>
#include <vector>
#include <algorithm>

#pragma warning (disable:4996);


using namespace std;
int cnt;
int k;
int N, M, i;
bool check[100001];
vector <int> v[100001];
int number[100001];

void DFS(int n){
    check[n] = true;
    cnt++;
    number[n] = cnt;
   
   
    for (int i = 0; i < v[n].size(); i++) {
        if (!check[v[n][i]]) {
            
            DFS(v[n][i]);
        }
    }
    
}
int main() {
    
    
    cin >> N >> M>>i;
    for (int j = 0; j < M; j++) {
        int a, b;
        cin >> a >> b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    for (int j = 1; j <= N; j++){
        sort(v[j].begin(), v[j].end());
    }

    DFS(i);

    for (int j = 1; j <= N; j++) {
        cout << number[j] << '\n';
    }
    
    

    return 0;
728x90

'알고리즘 > 백준' 카테고리의 다른 글

백준 17478 재귀함수가 뭔가요?  (0) 2022.05.31
백준 17478  (0) 2022.05.31
백준 22351 수학은 체육과목 입니다. 3  (0) 2022.05.23
백준 4150 피보나치 수(c++)  (0) 2022.04.02
(C++) 백준 1111번 IQ Test  (0) 2021.12.01