Scroll indicator done
728x90

https://www.acmicpc.net/problem/1260


#include <iostream>
#include <queue>
using namespace std;

int n, m, v;
int map[1001][1001];
bool visit[1001];
queue <int> Q;

void DFS(int v) {
	visit[v] = true;
	cout << v << " ";
	for (int i = 1; i <= n; i++) {
		if (map[v][i] == 1 && visit[i] == 0) {
			DFS(i);
		}
	}
}
void BFS(int v) {
	Q.push(v);
	visit[v] = true;
	cout << v << " ";

	while (!Q.empty()) {
		v = Q.front();
		Q.pop();
		for (int i = 1; i <= n; i++) {
			if (map[v][i] == 1 && visit[i] == 0) {
				Q.push(i);
				visit[i] = true;
				cout << i << " ";
			}
		}
	}
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
    
	cin >> n >> m >> v;
	for (int i = 0; i < m; i++) {
		int x, y;
		cin >> x >> y;
		map[x][y] = 1;
		map[y][x] = 1;
	}

	for (int i = 1; i <= n; i++) {
		visit[i] = 0;
	}

	DFS(v);
	cout << '\n';

	for (int i = 1; i <= n; i++) {
		visit[i] = 0;
	}
	BFS(v);
	return 0;
}
728x90

'BAEKJOON > C++' 카테고리의 다른 글

[B11659][구간 합 구하기 4][C++]  (0) 2021.06.24
[B1676][팩토리얼 0의 개수][C++]  (0) 2021.06.23
[B17219][비밀번호 찾기][C++]  (0) 2021.06.21
[B9461][파도반 수열][C++]  (0) 2021.06.18
[B7662][이중 우선 순위 큐][C++]  (0) 2021.06.17