Pagini recente » Cod sursa (job #1202978) | Cod sursa (job #148018) | Cod sursa (job #28855) | Cod sursa (job #344851) | Cod sursa (job #1018207)
#include<fstream>
using namespace std;
#define nmax 100001
struct nod{int x; nod *next;};
nod *lista[nmax];
int n,i,m,a,b,viz[nmax],nr,coada[nmax],k;
void dfs(int start) {
viz[start]=1;
coada[k++]=start;
for (nod *p=lista[start];p!=NULL;p=p->next)
if (!viz[p->x])
dfs(p->x);
}
int main() {
ifstream f("dfs.in",ifstream::in);
ofstream g("dfs.out",ifstream::out);
f>>n>>m;
for (i=0;i<m;i++) {
f>>a>>b;
nod *q=new nod;
q->x=b;
q->next=lista[a];
lista[a]=q;
q=new nod;
q->x=a;
q->next=lista[b];
lista[b]=q;
}
for (i=1;i<=n;i++)
if (!viz[i]) {
dfs(i);
}
g<<nr;
return 0;
}