102942024-03-30 10:46:22111Pletykálkodáscpp17Futási hiba 0/10059ms7428 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,k,j,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 hiba3ms1828 KiB
2Futási hiba3ms2020 KiB
3Hibás válasz4ms2836 KiB
subtask20/9
4Futási hiba2ms2424 KiB
5Futási hiba2ms2568 KiB
6Hibás válasz3ms2596 KiB
subtask30/13
7Futási hiba14ms3696 KiB
8Futási hiba18ms3784 KiB
9Futási hiba18ms3816 KiB
subtask40/16
10Futási hiba14ms3732 KiB
11Futási hiba14ms4012 KiB
12Futási hiba14ms3948 KiB
subtask50/25
13Hibás válasz3ms3044 KiB
14Hibás válasz3ms3120 KiB
15Hibás válasz3ms3240 KiB
16Futási hiba3ms3296 KiB
17Futási hiba3ms3508 KiB
18Futási hiba3ms3428 KiB
19Hibás válasz3ms3504 KiB
subtask60/13
20Hibás válasz4ms4160 KiB
21Futási hiba8ms3816 KiB
22Hibás válasz4ms4172 KiB
23Futási hiba7ms4096 KiB
24Futási hiba4ms3792 KiB
25Futási hiba4ms3748 KiB
26Hibás válasz6ms4124 KiB
subtask70/24
27Hibás válasz27ms7048 KiB
28Hibás válasz35ms7428 KiB
29Hibás válasz27ms7336 KiB
30Futási hiba34ms5536 KiB
31Futási hiba39ms5572 KiB
32Futási hiba43ms5284 KiB
33Futási hiba50ms5428 KiB
34Futási hiba59ms5364 KiB
35Hibás válasz41ms6724 KiB
36Hibás válasz46ms6444 KiB
37Hibás válasz56ms6244 KiB