Pagini recente » Cod sursa (job #1802734) | Cod sursa (job #2310289) | Cod sursa (job #2537787) | Cod sursa (job #104281) | Cod sursa (job #396657)
Cod sursa(job #396657)
#include<fstream>
#include<vector>
using namespace std;
#define NMAX 200005
int n,m,l=0;
vector <int> v[NMAX];
int g[NMAX],viz[NMAX],s[NMAX];
void citire ()
{
ifstream fin("dfs.in");
fin>>n>>m;
int i,a,b;
for(i=1;i<=m;i++)
{
fin>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
for(i=1;i<=n;i++)
g[i]=v[i].size();
fin.close();
}
void dfs(int nod)
{
int i;
viz[nod]=1;
for(i=0;i<g[nod];i++)
if(!viz[v[nod][i]])
{
dfs(v[nod][i]);
}
}
int main ()
{
int i,k=0;
citire();
for(i=1;i<=n;i++)
{
if(!viz[i])
{
dfs(i);
k++;
}
}
ofstream fout("dfs.out");
fout<<k;
fout.close();
return 0;
}