[백준 24480] 알고리즘 수업 - 깊이 우선 탐색 2
2023. 3. 28. 18:58ㆍ자료구조 및 알고리즘/백준
728x90
백준 24480 내림차순
#include <iostream>
#include <stack>
#include <vector>
#include <algorithm>
#define fio ios_base::sync_with_stdio(0); cin.tie(NULL);
using namespace std;
int n,m,s,a,b,idx=1;
vector<int> adj[100005]; // 인접리스트
int answer[100005];
bool visited[100005];
void dfs1(int cur){ // cur이 시작 정점
visited[cur]=true; // # 시작 정점 R 방문표시
answer[cur]=idx++;
for(int x:adj[cur]) // 정점 R의 인접 정점 집합
if(!visited[x]) dfs1(x);
}
int main() {
fio;
cin>>n>>m>>s; // s는 시작 정점
// 다음은 서로 이어진 node들을 넣는다. 가중치는 1로 모두 같다.
for(int i=0; i<m; i++){
cin>>a>>b;
adj[a].push_back(b);
adj[b].push_back(a);
}
for(int i=1; i<=n; i++){ // 정렬
sort(adj[i].begin(), adj[i].end(), greater<int>()); // 내림차순 정렬
}
dfs1(s);
for (int i = 1; i <= n; ++i) { // i++해도 상관 없다.
cout << answer[i] << '\n';
}
return 0;
}
-------------------------
내림차순 정렬
sort(adj[i].begin(), adj[i].end(), greater<int>()); // 내림차순 정렬
728x90
'자료구조 및 알고리즘 > 백준' 카테고리의 다른 글
[백준 24444] 알고리즘 수업 - 너비 우선 탐색 1 (0) | 2023.03.31 |
---|---|
[백준 1926] 그림 문제 복습 (실수 최종 수정) (0) | 2023.03.31 |
[백준 24479] 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2023.03.28 |
[백준 7569] 토마토 (3D 버전) (수정 진행 중) (0) | 2023.03.27 |
[백준 6588] 골드바흐의 추측 (0) | 2023.03.19 |