#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 |