Pagini recente » Cod sursa (job #1640980) | Cod sursa (job #1623121) | Cod sursa (job #2410087) | Cod sursa (job #1276705) | Cod sursa (job #1184814)
#include <iostream>
#include <fstream>
#include <stack>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout("dfs.out");
stack <int> A[100005];
bool BR[100005];
void DFS(int x)
{
int k;
BR[x]=1;
while(!A[x].empty())
{
k=A[x].top();
A[x].pop();
DFS(k);
}
}
int main()
{
int n,m,i,x,y,rez=0;
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>x>>y;
A[x].push(y);
A[y].push(x);
}
for(i=1;i<=n;i++)
if(BR[i]==0)
{
DFS(i);
rez++;
}
fout<<rez<<'\n';
fin.close();
fout.close();
return 0;
}