Pagini recente » Cod sursa (job #424814) | Monitorul de evaluare | Cod sursa (job #1750642) | Cod sursa (job #1618372) | Cod sursa (job #789966)
Cod sursa(job #789966)
#include<fstream>
using namespace std;
typedef struct no{
int val;
no *urm;
} nod;
nod *vecini[100001];
int viz[100001];
void dfs(int k){
nod *aux=vecini[k];
viz[k]=1;
while(aux){
if(!viz[aux->val])
dfs(aux->val);
aux=aux->urm;
}
}
int main()
{
int n,m,cont,i,x,y;
ifstream f("dfs.in");
ofstream g("dfs.out");
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
nod *aux=new nod;
aux->val=y;
aux->urm=vecini[x];
vecini[x]=aux;
nod *aux2=new nod;
aux2->val=x;
aux2->urm=vecini[y];
vecini[y]=aux2;
}
cont=0;
for(i=1;i<=n;i++)
if(!viz[i])
{
cont++;
dfs(i);
}
g<<cont;
return 0;
}