#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<stdlib.h>
#include<limits.h>
#include<math.h>
#include<queue>
#include<stack>
#define max(a, b) a>b?a:b;
#define min(a, b) a<b?a:b;
using namespace std;
const int N = 2010;
int f[N], r[N];
int Find(int x);
int main()
{
int t, n, m, a, b;
scanf("%d", &t);
for(int ans=1; ans<=t; ans++)
{
int flag=0;
scanf("%d%d", &n, &m);
for(int i=0; i<=n; i++)
{
f[i]=i;
r[i]=0;
}
for(int i=0; i<m; i++)
{
scanf("%d%d", &a, &b);
int ra=Find(a);
int rb=Find(b);
if(ra==rb && r[a]==r[b])
{
flag=1;
}
else if(ra!=rb)
{
f[ra]=rb;
转载于:https://www.cnblogs.com/wazqWAZQ1/p/4675209.html