Cod sursa(job #1991019)

Utilizator BeatriceBBeatrice Roxana BeatriceB Data 14 iunie 2017 17:44:06
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>


using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
struct list_node
{
    int vec;
    list_node *urm;
};
const int N=100010;
list_node *v[N];
int n,m,c,viz[N];
void dfs(int nod)
{
    viz[nod]=1;
    list_node *aux;

    for(aux=v[nod];aux;aux=aux->urm)
        if(!viz[aux->vec])
            dfs(aux->vec);
}
int main()
{
    f>>n>>m;
    for(; m; m--)
    {
        int x,y;
        f>>x>>y;
        list_node *aux;
        aux=new list_node;
        aux->vec=y;aux->urm=v[x];v[x]=aux;
        aux=new list_node;
        aux->vec=x;aux->urm=v[y];v[y]=aux;
    }
    for(int i=1; i<=n; i++)
        if(!viz[i])
        {
            c++;
            dfs(i);
        }
    g<<c;
    return 0;
}