Pagini recente » Clasament 545365768778888853 | Cod sursa (job #3242356) | Cod sursa (job #2835645) | Cod sursa (job #1771808) | Cod sursa (job #2080200)
#include <iostream>
#include <vector>
#include <fstream>
#include <stdio.h>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
#define maxn 100010
int N, M, L, nr;
vector <int> A[maxn];
bool ok[maxn];
void DFS(int i)
{
ok[i]=1;
for(int j=0; j<A[i].size(); j++)
if(ok[A[i][j]]==0)
DFS(A[i][j]);
}
int main()
{
f>>N>>M;
int x,y;
for(int i=1; i<=M; i++)
{
f>>x>>y;
A[x].push_back(y);
A[y].push_back(x);
}
for(int i=1; i<=N; i++)
if(ok[i]==0)
{
nr++;
DFS(i);
}
g<<nr;
return 0;
}