Pagini recente » Cod sursa (job #1630883) | Cod sursa (job #2709739) | Cod sursa (job #482589) | Cod sursa (job #2090025) | Cod sursa (job #505024)
Cod sursa(job #505024)
#include<fstream>
#include<vector>
using namespace std;
#define nmax 100002
ifstream f("dfs.in");
ofstream g("dfs.out");
vector <int> nod[nmax];
int n,m,viz[nmax],l[nmax];
void citire()
{
f>>n>>m;
int i,a,b;
for(i=1;i<=m;i++)
{
f>>a>>b;
nod[a].push_back(b);
nod[b].push_back(a);
}
for(i=1;i<=n;i++) l[i]=nod[i].size();
}
void dfs(int x)
{
int i;
viz[x]=1;
for(i=0;i<l[x];i++) if(!viz[nod[x][i]]) dfs(nod[x][i]);
}
int main()
{
citire();int i,nr=0;
for(i=1;i<=n;i++)
if(!viz[i]) {nr++; dfs(i);}
g<<nr;
}