67462023-12-18 17:04:36999Adószedőcpp17Elfogadva 30/30579ms32196 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
	int N,M,strNODE; cin >> N >> M >> strNODE;
	vector<vector<int>> v(N+1);
	for(int i = 1; i <= M; i++) {
		int a,b;
		cin >> a >> b;
		v[a].push_back(b);
		v[b].push_back(a);
	}
	vector<int> ut(N+1,-1);
	map<pair<int,int>, bool> m;
	queue<int> q;
	q.push(strNODE);
	while(!q.empty()){
		int temp=q.front();
		q.pop();
		for(int n : v[temp]){
			if(ut[n]==-1){
				ut[n]=ut[temp]+1;
				q.push(n);
			}
			if(ut[temp]==ut[n]+1)m[make_pair(n,temp)]=true;
		}
	}
	cout<<m.size()<<endl;
	for(auto ans : m){
		cout<<ans.first.second<<' '<<ans.first.first<<endl;
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/30
1Elfogadva0/03ms1816 KiB
2Elfogadva0/0342ms25648 KiB
3Elfogadva1/13ms2180 KiB
4Elfogadva1/13ms2180 KiB
5Elfogadva1/13ms2572 KiB
6Elfogadva1/13ms2696 KiB
7Elfogadva1/13ms2752 KiB
8Elfogadva1/13ms2800 KiB
9Elfogadva2/24ms3028 KiB
10Elfogadva2/26ms3184 KiB
11Elfogadva2/28ms3380 KiB
12Elfogadva2/228ms5128 KiB
13Elfogadva2/275ms7944 KiB
14Elfogadva2/2391ms22868 KiB
15Elfogadva1/1500ms29232 KiB
16Elfogadva1/1467ms25296 KiB
17Elfogadva2/2538ms31644 KiB
18Elfogadva2/2579ms29188 KiB
19Elfogadva2/2476ms30924 KiB
20Elfogadva2/2388ms31548 KiB
21Elfogadva2/2485ms32196 KiB