반응형
문제출처
https://www.acmicpc.net/problem/1260
소스코드
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 49 50 51 52 53 54 55 56 57 | #include <iostream> #include <queue> #include <cstring> #define MAX 1000 using namespace std; int n, m, v; int map[MAX][MAX]; bool visit[MAX]; void init() { cin>>n>>m>>v; int s,e; for (int i=0; i<m; i++) { cin>>s>>e; map[s][e]=1; map[e][s]=1; } } void dfs(int s) { visit[s]=1; cout<<s<<" "; for (int i=0; i<=n; i++) { if (!visit[i] && map[s][i] == 1) { dfs(i); } } } void bfs(int s) { queue<int> q; q.push(s); visit[s]=1; while (!q.empty()) { int cur = q.front(); q.pop(); cout<<cur<<" "; for (int i=0; i<=n; i++) { if (!visit[i] && map[cur][i] == 1) { q.push(i); visit[i]=1; } } } } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); init(); dfs(v); memset(visit, 0, sizeof(visit)); cout<<"\n"; bfs(v); return 0; } | cs |
반응형
'Algorithm' 카테고리의 다른 글
[SWEA 5162] 두가지 빵의 딜레마 (0) | 2019.07.23 |
---|---|
[BOJ 7576] 토마토 (0) | 2019.07.05 |
[BOJ 1120]문자열 (0) | 2019.07.03 |
[BOJ 5585] 거스름돈 (0) | 2019.07.03 |
[BOJ 4948] 베르트랑 공준 (0) | 2019.07.03 |