#include <bits/stdc++.h>
using namespace std;
#define INT long long int
INT n,m,vf;
bool chk[1010];
queue<INT> q;
bool visited[1010];
INT dis[1010];
void dfs(vector<INT> adj[], INT x)
{
if(chk[x]) return;
chk[x] = true;
cout << x << " ";
for(auto u: adj[x])
{
dfs(adj, u);
}
}
void bfs(vector<INT> adj[], INT x)
{
visited[x] = true;
q.push(x);
while(!q.empty())
{
INT s = q.front();
q.pop();
cout << s << " ";
for(auto u: adj[s])
{
if(!visited[u])
{
visited[u] = true;
q.push(u);
}
}
}
}
int main()
{
cin >> n >> m >> vf;
vector<INT> adj[n+1];
for(int i=0; i<m; i++)
{
INT u = 0, v = 0;
cin >> u >> v;
adj[u].push_back(v);
adj[v].push_back(u);
}
for(int i=1; i<n+1; i++)
{
sort(adj[i].begin(), adj[i].end());
}
dfs(adj,vf);
cout << endl;
bfs(adj,vf);
return 0;
}
'코딩 일지 > baekjoon' 카테고리의 다른 글
2630 (0) | 2023.12.28 |
---|---|
2447 (0) | 2023.12.28 |
1655 가운데를 말해요 (0) | 2023.08.22 |
12865 - 평범한 배낭 (0) | 2023.08.17 |
1463 - 1로 만들기 (0) | 2023.02.11 |