for(int k=0;k
flag=false;
}
if(flag) //满足的话,直接输出
{
for(int j=0;j
tt=true;
break;
}
}
if(!tt)
printf("-1\n");
}
return 0;
}
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
/*
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
*/
vector
vector
int n,m;
int main()
{
srand((unsigned)(time(NULL)));
while(scanf("%d%d",&n,&m)!=EOF)
{
int a,b;
myv.clear();
for(int i=1;i<=n;i++)
{
vv[i].clear();
myv.push_back(i);
}
for(int i=1;i<=m;i++)
{
scanf("%d%d",&a,&b);
vv[a].push_back(b);
vv[b].push_back(a);
}
bool tt=false;
for(int i=1;i<=500;i++) //随机次数
{
random_shuffle(myv.begin(),myv.end()); //随机节点
bool flag=true;
for(int j=0;j
int a=myv[j];
int b=myv[(j+1)%n];
for(int k=0;k
flag=false;
}
if(flag) //满足的话,直接输出
{
for(int j=0;j
tt=true;
break;
}
}
if(!tt)
printf("-1\n");
}
return 0;
}