102952024-03-30 10:46:54111Pletykálkodáscpp17Futási hiba 0/10059ms8132 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	int N,M;
	cin>>N>>M;
	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<tuple<int,int,int,int>>c;
	for(int i=1;i<=N;i++){
		vector<int>v(N+1);
		v[i]=-1;
		for(int j:g[i]){
			v[j]=-1;
		}
		for(int j:g[i]){
			for(int k:g[j]){
				if(v[k]<0){
					continue;
				}
				if(v[k]>0){
					c.emplace_back(i,j,k,v[k]);
					continue;
				}
				v[k]=j;
			}
		}
	}
	for(auto[a,b,aa,bb]:c){
		vector<int>v(N+1,-1);
		vector<vector<pair<int,int>>>w(2);
		auto dfs=[&](auto self,int i)->void{
			for(int j:g[i]){
				if(v[j]!=-1){
					continue;
				}
				v[j]=v[i];
				self(self,j);
				w[v[i]].emplace_back(i,j);
			}
		};
		v[a]=0;
		v[b]=1;
		v[aa]=0;
		v[bb]=1;
		dfs(dfs,aa);
		dfs(dfs,bb);
		if(count(v.begin(),v.end(),-1)==1){
			vector<pair<int,int>>s;
			for(auto[a,b]:w[0]){
				s.emplace_back(a,b);
			}
			for(auto[a,b]:w[1]){
				s.emplace_back(a,b);
			}
			s.emplace_back(a,aa);
			s.emplace_back(b,bb);
			s.emplace_back(a,b);
			s.emplace_back(aa,bb);
			reverse(w[0].begin(),w[0].end());
			reverse(w[1].begin(),w[1].end());
			for(auto[a,b]:w[0]){
				s.emplace_back(a,b);
			}
			for(auto[a,b]:w[1]){
				s.emplace_back(a,b);
			}
			cout<<s.size()<<'\n';
			for(auto[a,b]:s){
				cout<<a<<' '<<b<<'\n';
			}
			return 0;
		}
	}
	return 1;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Futási hiba3ms1832 KiB
2Futási hiba3ms2056 KiB
3Hibás válasz4ms2704 KiB
subtask20/9
4Futási hiba3ms2476 KiB
5Futási hiba3ms2696 KiB
6Hibás válasz2ms2648 KiB
subtask30/13
7Futási hiba14ms3584 KiB
8Futási hiba18ms3648 KiB
9Futási hiba18ms3616 KiB
subtask40/16
10Futási hiba14ms3548 KiB
11Futási hiba14ms3552 KiB
12Futási hiba14ms3708 KiB
subtask50/25
13Hibás válasz3ms3268 KiB
14Hibás válasz3ms3448 KiB
15Hibás válasz3ms3656 KiB
16Futási hiba3ms3732 KiB
17Futási hiba3ms3808 KiB
18Futási hiba3ms3936 KiB
19Hibás válasz3ms4028 KiB
subtask60/13
20Hibás válasz4ms4800 KiB
21Hibás válasz8ms4756 KiB
22Hibás válasz4ms4764 KiB
23Futási hiba8ms4844 KiB
24Futási hiba4ms4676 KiB
25Futási hiba4ms4684 KiB
26Hibás válasz7ms5000 KiB
subtask70/24
27Hibás válasz27ms7820 KiB
28Hibás válasz35ms7888 KiB
29Hibás válasz27ms8132 KiB
30Futási hiba34ms6176 KiB
31Futási hiba37ms6100 KiB
32Futási hiba43ms5784 KiB
33Futási hiba50ms5792 KiB
34Futási hiba59ms5756 KiB
35Hibás válasz41ms7264 KiB
36Hibás válasz46ms6972 KiB
37Hibás válasz54ms6816 KiB