Pagini recente » Cod sursa (job #1606751) | Cod sursa (job #226301) | Cod sursa (job #2061143) | Cod sursa (job #176140) | 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;
}