329C - Graph Reconstruction - CodeForces Solution


constructive algorithms *2400

Please click on ads to support us..

C++ Code:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> e[100005];
int a[100005],T=1000;
int main(){
	srand(1919810);
	int n,m;cin>>n>>m;
	for(int i=1;i<=m;i++)
    {
		int u,v;
        cin>>u>>v;
		e[u].push_back(v);
        e[v].push_back(u);
	}

	for(int i=1;i<=n;i++) 
     a[i]=i;

	while(T--)
    {
		random_shuffle(a+1,a+n+1);
		bool f=1;
		a[n+1]=a[1];
		for(int i=1;i<=m && f;i++)
        {
			for(int j=0;j<(int)e[a[i]].size();j++)
				if(e[a[i]][j]==a[i+1]) 
                 f=0;
		}
		if(f==1)
        {
			for(int i=1;i<=m;i++) 
               cout<<a[i]<<' '<<a[i+1]<<'\n';
			return 0;
		}
	}
	puts("-1");
}


Comments

Submit
0 Comments
More Questions

237. Delete Node in a Linked List
27. Remove Element
39. Combination Sum
378. Kth Smallest Element in a Sorted Matrix
162. Find Peak Element
1529A - Eshag Loves Big Arrays
19. Remove Nth Node From End of List
925. Long Pressed Name
1051. Height Checker
695. Max Area of Island
402. Remove K Digits
97. Interleaving String
543. Diameter of Binary Tree
124. Binary Tree Maximum Path Sum
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
501A - Contest
160A- Twins
752. Open the Lock
1535A - Fair Playoff
1538F - Interesting Function
1920. Build Array from Permutation
494. Target Sum
797. All Paths From Source to Target
1547B - Alphabetical Strings
1550A - Find The Array
118B - Present from Lena
27A - Next Test
785. Is Graph Bipartite
90. Subsets II
1560A - Dislike of Threes