230872026-01-16 11:49:51MagyarKendeSZLGAdószedőcpp17Elfogadva 30/30118ms12492 KiB
#include <bits/stdc++.h>
using namespace std;
#define int int64_t

int32_t main() {
    cin.tie(0), ios::sync_with_stdio(0);
    int n, m, start;
    cin >> n >> m >> start;
    vector<vector<int>> g(n + 1);
    while (m--) {
        int u, v;
        cin >> u >> v;
        g[u].push_back(v);
        g[v].push_back(u);
    }
    vector<array<int, 2>> result;
    queue<int> q({start});
    vector<int> dist(n + 1, 1e9);
    vector<bool> vis(n + 1);
    vis[start] = 1;
    dist[start] = 0;
    while (!q.empty()) {
        int u = q.front();
        q.pop();
        for (int v : g[u]) {
            if (dist[u] + 1 < dist[v]) {
                result.push_back({u, v});
                dist[v] = dist[u] + 1;
                q.push(v);
            } else if (dist[u] + 1 == dist[v]) {
                result.push_back({u, v});
            }
        }
    }
    cout << result.size() << "\n";
    for (auto [u, v] : result)
        cout << u << " " << v << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/30
1Elfogadva0/01ms508 KiB
2Elfogadva0/0109ms10140 KiB
3Elfogadva1/11ms316 KiB
4Elfogadva1/11ms316 KiB
5Elfogadva1/11ms316 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva1/11ms316 KiB
8Elfogadva1/11ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/22ms376 KiB
11Elfogadva2/22ms564 KiB
12Elfogadva2/28ms1336 KiB
13Elfogadva2/217ms2476 KiB
14Elfogadva2/276ms8360 KiB
15Elfogadva1/1101ms12492 KiB
16Elfogadva1/189ms9388 KiB
17Elfogadva2/2118ms12112 KiB
18Elfogadva2/2105ms10924 KiB
19Elfogadva2/2108ms11436 KiB
20Elfogadva2/2108ms11692 KiB
21Elfogadva2/2104ms12208 KiB