Pagini recente » Cod sursa (job #1545911) | Cod sursa (job #1731578) | Cod sursa (job #1231917) | Cod sursa (job #1740487) | Cod sursa (job #2830251)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int Start[100005],T[2][400005],n,m,viz[100005],k,contor=0;
void Citire()
{
int i,j;
f>>n>>m;
while (f>>i>>j)
{
k++;
T[0][k]=j;
T[1][k]=Start[i];
Start[i]=k;
k++;
T[0][k]=i;
T[1][k]=Start[j];
Start[j]=k;
}
}
void dfs(int elem)
{
int c;
c=Start[elem];
viz[elem]=1;
while(c)
{
if(viz[T[0][c]]==0) dfs(T[0][c]);
c=T[1][c];
}
}
int main()
{
Citire();
for(int i=1;i<=n;i++)
if(viz[i]==0)
{
contor++;
dfs(i);
}
g<<contor;
}