Pagini recente » Cod sursa (job #2503021) | Cod sursa (job #255777) | Cod sursa (job #1604308) | Cod sursa (job #483243) | Cod sursa (job #986606)
Cod sursa(job #986606)
#include <fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n, m, x, y, i, nr, v[100010];
struct nod{
int v;
nod *n;
};
nod *p[100010];
nod *q;
void dfs(int x){
v[x]=1;
for(nod *q=p[x]; q; q=q->n)
if(v[q->v]==0)
dfs(q->v);
}
int main(){
f>>n>>m;
for(i=1; i<=n; i++)
p[i]=NULL;
for(i=1; i<=m; i++)
{
f>>x>>y;
q=new nod;
q->n=p[x];
q->v=y;
p[x]=q;
q=new nod;
q->n=p[y];
q->v=x;
p[y]=q;
}
f.close();
for(i=1; i<=n; i++)
if(v[i]==0)
{
nr++;
dfs(i);
}
g<<nr<<"\n";
g.close();
return 0;
}