Pagini recente » Monitorul de evaluare | Cod sursa (job #3361762) | Cod sursa (job #3362171) | Cod sursa (job #3362066) | Cod sursa (job #3361737)
#include <fstream>
#include<algorithm>
#include<cmath>
#include<vector>
#include<string>
#include<unordered_map>
#include<map>
#include<climits>
using namespace std;
ifstream cin("dfs.in");
ofstream cout("dfs.out");
int dfs(int nod,vector<vector<int>>&v,vector<bool>&viz){
viz[nod]=true;
int cnt=1;
for(int i=0;i<v[nod].size();i++){
int vec=v[nod][i];
if(!viz[vec]){
cnt+=dfs(vec,v,viz);
}
}
return cnt;
}
int main()
{
int n,m;
cin>>n>>m;
vector<vector<int>>v(n+1);
//int a,b;
for(int i=1;i<=m;i++){
int a,b;
cin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
vector<bool>vaz(n+1,false);
int maxi=0;
for(int i=1;i<=n;i++){
if(vaz[i]==false){
int tcnt=dfs(i,v,vaz);
maxi=max(maxi,tcnt);
}
}
cout<<maxi;
return 0;
}