Pagini recente » Istoria paginii runda/simulare-cartita-31a | Cod sursa (job #2017973) | Cod sursa (job #1342992) | Cod sursa (job #114630) | Cod sursa (job #2355144)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dfs.in") ;
ofstream fout("dfs.out") ;
int n , m , x , y ,visited[100005] , maxim , k ;
struct MakePer
{
vector <int> v ;
};
MakePer a[100005] ;
void dfs(int S)
{
visited[S] = 1 ;
k ++ ;
for(vector<int>::iterator it = a[S].v.begin(); it != a[S].v.end(); it ++)
if(visited[*it] == 0)
{
visited[*it] = visited[S] + 1 ;
dfs(*it) ;
}
}
int main()
{
fin >> n >> m ;
for(int i=1; i<=m; i++)
{
fin >> x >> y ;
a[x].v.push_back(y) ;
a[y].v.push_back(x) ;
}
for(int i=1; i<=n; i++)
{
k = 0 ;
if(visited[i] == 0)
dfs(i) ;
if(maxim < k)
maxim = k ;
}
fout << maxim ;
return 0;
}