24479번 문제의 오름차순에서 내림차순으로 변경된 것 밖에 없다.
#include <bits/stdc++.h>
int *dfsRes;
int dfsN2,dfsM2,dfsR2;
vector<int> dfsList2[100001];
int cnt2 = 0;
bool dfsVisited2[100001]{false};
void dfs24480(int v){
if(dfsVisited2[v])
return;
dfsVisited2[v] = true;
cnt2++;
dfsRes[v] = cnt2;
for(int i=0;i<(int)dfsList2[v].size();i++){
int next = dfsList2[v][i];
dfs24480(next);
}
}
bool compare(int a, int b){
return a>b;
}
void DFS2(){
scanf("%d%d%d",&dfsN2,&dfsM2,&dfsR2);
dfsRes = new int[dfsN2+1];
for(int i=0;i<dfsM2;i++){
int in3,in4;
scanf("%d%d",&in3,&in4);
dfsList2[in3].push_back(in4);
dfsList2[in4].push_back(in3);
}
for(int i=1;i<=dfsN2;i++){
sort(dfsList2[i].begin(),dfsList2[i].end(),compare);
}
dfs24480(dfsR2);
for(int i=1;i<=dfsN2;i++){
printf("%1d\n",dfsRes[i]);
}
}
'알고리즘 > DFS & BFS' 카테고리의 다른 글
백준[24445] 알고리즘 수업 - 너비 우선 탐색 2 (0) | 2023.01.10 |
---|---|
백준[24444] 알고리즘 수업 - 너비 우선 탐색 1 (0) | 2023.01.10 |
백준[24479] 알고리즘 수업 - 깊이 우선 탐색 1 (0) | 2023.01.09 |
미로 탈출 (0) | 2023.01.09 |
음료수 얼려 먹기 (0) | 2023.01.09 |