235922026-01-25 22:43:02abcdAdószedőcpp17Elfogadva 30/30314ms16948 KiB
#include <bits/stdc++.h>
using namespace std;
using pii=pair<int, int>;

int main() {
    int n,m,f;cin>>n>>m>>f;
    vector<vector<pii>> adj(n+1);
    for(int i=0;i<m;i++) {
        int a,b;cin>>a>>b;
        adj[a].push_back({b,i});
        adj[b].push_back({a,i});
    }
    queue<pii> q;
    q.push({f,0});
    set<pii> ans;
    vector<int> d(n+1,-1),vis(m);
    d[f]=0;
    while(!q.empty()) {
        auto [v,dis]=q.front();q.pop();
        for(auto [to,i]:adj[v]) {
            if(vis[i])continue;
            if(d[to]==-1||d[to]==dis+1) {
                d[to]=dis+1;
                q.push({to,dis+1});
                if(v<to)ans.insert({v,to});
                else ans.insert({to,v});
                vis[i]=true;
            }
        }
    }
    cout<<ans.size()<<'\n';
    for(auto [a,b]:ans)cout<<a<<' '<<b<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/30
1Elfogadva0/01ms316 KiB
2Elfogadva0/0248ms14132 KiB
3Elfogadva1/11ms512 KiB
4Elfogadva1/12ms316 KiB
5Elfogadva1/11ms348 KiB
6Elfogadva1/11ms316 KiB
7Elfogadva1/11ms572 KiB
8Elfogadva1/12ms500 KiB
9Elfogadva2/23ms316 KiB
10Elfogadva2/23ms564 KiB
11Elfogadva2/23ms564 KiB
12Elfogadva2/217ms1396 KiB
13Elfogadva2/243ms3140 KiB
14Elfogadva2/2201ms11828 KiB
15Elfogadva1/1272ms15888 KiB
16Elfogadva1/1225ms13360 KiB
17Elfogadva2/2314ms16948 KiB
18Elfogadva2/2284ms15668 KiB
19Elfogadva2/2286ms16196 KiB
20Elfogadva2/2277ms16760 KiB
21Elfogadva2/2282ms16948 KiB