#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
vector<int> s[100005];
int v[100005],n,m;
int check(int x,int y){
int i;
for(i=0;i<s[x].size();i++)
if(s[x][i]==y)
return 1;
return 0;
}
void reset(){
random_shuffle(v,v+n);
int i;
for(i=0;i<min(n-1,m);i++)
if(check(v[i],v[i+1]))
return;
if(n==m && check(v[0],v[n-1])) return;
for(i=0;i<min(n-1,m);i++)
printf("%d %d\n",v[i],v[i+1]);
if(n==m) printf("%d %d\n",v[0],v[n-1]);
exit(0);
}
int main(){
int i,x,y;
scanf("%d%d",&n,&m);
for(i=0;i<m;i++){
scanf("%d%d",&x,&y);
s[x].push_back(y);
s[y].push_back(x);
}
for(i=0;i<n;i++) v[i]=i+1;
for(i=0;i<1000;i++){
reset();
}
puts("-1");
}
沒有留言:
張貼留言