/* 題目: UVa 10608 - Friends
*
Language: C++
*
Created on: 2015年12月4日
*
Author: hanting
*/
#include <iostream>
#include <vector>
using namespace std;
vector<vector<int> >
node;
vector<bool> visit;
void ConnectNode(int a, int b)
{
node[a].push_back(b);
node[b].push_back(a);
}
int DFS(int cur)
{
visit[cur] = 1;
int cnt = 1;
for(int i = 0; i < node[cur].size(); i++)
{
int tmp =
node[cur][i];
if(!visit[tmp])
{
cnt += DFS(tmp);
}
}
return cnt;
}
int main()
{
int testCase = 0;
cin >> testCase;
while(testCase--)
{
int manN, pairN;
cin >> manN >> pairN;
visit.assign(manN+1, 0);
node.assign(manN+1, vector<int>());
for(int i = 0; i < pairN; i++)
{
int a, b;
cin >> a >> b;
ConnectNode(a, b);
}
int maxi = 0;
for(int i = 1; i <= manN; i++)
{
if(!visit[i])
{
int groupNum = DFS(i);
maxi = max(maxi, groupNum);
}
}
cout << maxi << endl;
}
return 0;
}
沒有留言:
張貼留言