Pagini recente » Cod sursa (job #53993) | Cod sursa (job #2947192) | Cod sursa (job #2799018) | Cod sursa (job #2967445) | Cod sursa (job #1909136)
#include <bits/stdtr1c++.h>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int N, M, cnt, maxi;
int visited[100010];
void addEdge(vector <int> adj[], int u, int v) {
adj[u].push_back(v);
adj[v].push_back(u);
}
void DFS(int u, vector <int> adj[]) {
visited[u] = 1;
//cout << u << " ";
for(int i=0; i<adj[u].size(); i++) {
if(visited[adj[u][i]] == 0) {
cnt++;
DFS(adj[u][i], adj);
}
}
}
int main()
{
int x, y;
fin >> N >> M;
vector <int> adj[N+1];
for(int i=0; i < M; i++) {
fin >> x >> y;
addEdge(adj, x, y);
}
for(int i=1;i <= N; i++) {
if(!visited[i]){
cnt = 1;
DFS(i, adj);
if(cnt > maxi) maxi = cnt;
}
}
cout << maxi;
return 0;
}