6743 2023. 12. 18 15:45:12 111 Adószedő cpp17 Elfogadva 30/30 115ms 27180 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define double long double

#define pii pair<int, int>

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
#ifdef CB
	freopen("be2.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
#endif
	int N, M, R;
	cin >> N >> M >> R;
	vector<vector<int>> g(N + 1);
	for (int i = 0; i < M; i++) {
		int a, b;
		cin >> a >> b;
		g[a].push_back(b);
		g[b].push_back(a);
	}
	vector<pii> ans;
	vector<int> v(N + 1, -1);
	deque<int> q;
	v[R] = 0;
	q.push_back(R);
	while (!q.empty()) {
		int i = q.front();
		q.pop_front();
		for (int j : g[i]) {
			if (v[j] == -1) {
				v[j] = v[i] + 1;
				q.push_back(j);
			}
			if (v[j] == v[i] + 1) {
				ans.push_back({i, j});
			}
		}
	}
	cout << ans.size() << '\n';
	for (auto [a, b] : ans) {
		cout << a << ' ' << b << '\n';
	}
	return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 30/30
1 Elfogadva 0/0 3ms 1700 KiB
2 Elfogadva 0/0 92ms 18700 KiB
3 Elfogadva 1/1 3ms 2284 KiB
4 Elfogadva 1/1 3ms 2372 KiB
5 Elfogadva 1/1 3ms 2452 KiB
6 Elfogadva 1/1 3ms 2452 KiB
7 Elfogadva 1/1 3ms 2448 KiB
8 Elfogadva 1/1 3ms 2524 KiB
9 Elfogadva 2/2 3ms 2928 KiB
10 Elfogadva 2/2 4ms 3192 KiB
11 Elfogadva 2/2 4ms 3396 KiB
12 Elfogadva 2/2 9ms 4788 KiB
13 Elfogadva 2/2 19ms 6584 KiB
14 Elfogadva 2/2 78ms 16708 KiB
15 Elfogadva 1/1 103ms 27180 KiB
16 Elfogadva 1/1 85ms 18828 KiB
17 Elfogadva 2/2 111ms 26584 KiB
18 Elfogadva 2/2 104ms 24744 KiB
19 Elfogadva 2/2 111ms 25784 KiB
20 Elfogadva 2/2 115ms 26364 KiB
21 Elfogadva 2/2 112ms 27116 KiB