문제 태그 : https://www.acmicpc.net/problem/1260
문제 설명
사실 풀이라고 할 것은 딱히 없다. 문제의 제목 부터 내용까지 DFS와 BFS를 한 번 해보시오 라는 뜻의 연습문제이다. DFS와 BFS에 대한 개념을 알아야지 풀 수 있으며, 알 면 풀 수 있다. DFS와 BFS에 대한 설명은 여기에 나와있다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#include<bits/stdc++.h>
using namespace std;
int vid[10101];
int vib[10101];
vector<int> edg[1010];
void bfs(int x){
vib[x]=1;
queue<int> q;
q.push(x);
while(!q.empty()){
x=q.front(); q.pop();
printf("%d ",x);
for(auto n:edg[x])
if(vib[n]==0){
vib[n]=1;
q.push(n);
}
}
}
void dfs(int x){
printf("%d ",x);
vid[x]=1;
for(auto n:edg[x])
if(vid[n]==0){
vid[n]=1;
dfs(n);
}
}
int main(){
int i,j,k,l,m,n,a,b;
scanf("%d %d %d",&n,&m,&k);
for(i=1;i<=m;i++){
scanf("%d %d",&a,&b);
edg[a].push_back(b);
edg[b].push_back(a);
}
for(i=1;i<=n;i++)
sort(edg[i].begin(), edg[i].end());
dfs(k);
printf("\n");
bfs(k);
}
|
cs |
'코딩 > 백준 문제 풀이' 카테고리의 다른 글
BOJ 1006 - 습격자 초라기 (0) | 2020.02.09 |
---|---|
BOJ 1520 - 내리막 길 (0) | 2020.01.24 |
BOJ 4243 - 보안 업체 (0) | 2019.12.03 |
BOJ 1848 - 동굴 탐험 (0) | 2019.11.25 |
BOJ 1753 - 최단경로 (0) | 2019.11.24 |