211212026-01-12 12:09:14vargaviviAdószedőcpp17Elfogadva 30/30186ms13888 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
	int n, m, c;
    cin >> n >> m >> c;
    vector<vector<int>> g(n + 1);
    for (int i = 0; i < m; i ++) {
        int u, v; cin >> u >> v;
        g[u].push_back(v);
        g[v].push_back(u);
    }
    queue<int> q;
    q.push(c);
    vector<int> dist(n + 1, 100000000);
    vector<bool> done(n + 1, false);
    dist[c] = 0;
    set<pair<int, int>> ans;
    while(!q.empty()) {
        int u = q.front();
        q.pop();
        for (int v : g[u]) {
            if (dist[v] >= dist[u] + 1) {
                dist[v] = dist[u] + 1;
                ans.insert({u, v});
            }
            if (!done[v]) {
                q.push(v);
                done[v] = true;
            }
        }
    }
    cout << ans.size() << "\n";
    for (auto[x, y] : ans) cout << x << " " << y << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/30
1Elfogadva0/01ms316 KiB
2Elfogadva0/0158ms11572 KiB
3Elfogadva1/11ms532 KiB
4Elfogadva1/11ms508 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/11ms508 KiB
9Elfogadva2/22ms316 KiB
10Elfogadva2/22ms564 KiB
11Elfogadva2/22ms564 KiB
12Elfogadva2/212ms1332 KiB
13Elfogadva2/226ms2700 KiB
14Elfogadva2/2116ms9780 KiB
15Elfogadva1/1163ms13052 KiB
16Elfogadva1/1141ms11004 KiB
17Elfogadva2/2186ms13876 KiB
18Elfogadva2/2150ms12852 KiB
19Elfogadva2/2165ms13476 KiB
20Elfogadva2/2174ms13620 KiB
21Elfogadva2/2171ms13888 KiB