Pagini recente » Monitorul de evaluare | Cod sursa (job #1998487) | Cod sursa (job #705683) | Monitorul de evaluare | Cod sursa (job #751630)
Cod sursa(job #751630)
#include <fstream>
using namespace std;
ifstream F("dfs.in");
ofstream G("dfs.out");
#define Nmax 1011
int N,M;
int Leg[Nmax][Nmax];
int Lung[Nmax];
int x,y;
void DF(int Nod,int Step)
{
Lung[Nod]=Step;
for (int i=1;i<=Leg[Nod][0];++i)
if ( !Lung[ Leg[Nod][i] ] )
DF(Leg[Nod][i],Step+1);
}
int main()
{
F>>N>>M;
for (int i=1;i<=M;++i)
{
F>>x>>y;
Leg[x][++Leg[x][0]]=y;
Leg[y][++Leg[y][0]]=x;
}
int C=0;
for (int i=1;i<=N;++i)
if ( !Lung[i] )
{
DF(i,1);
++C;
}
G<<C<<'\n';
}