Cod sursa(job #2282038)

Utilizator NairBalanica Ciprian Nair Data 13 noiembrie 2018 09:18:23
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>
#define MAXN 100

using namespace std;

struct nod{int val; nod *next;};
nod *nou;
int cnt = 0, viz[MAXN], n;

nod *L[MAXN];

void add(int x, int y)
{
    nou = new nod;
    nou -> val = y;
    nou -> next = L[x];
    L[x] = nou;
}
ofstream g("dfs.out");
void df(int nodul)
{
    nod *t;

    viz[nodul] = 1;
    for(t = L[nodul]; t; t = t -> next)
        if(!viz[t->val])
            df(t -> val);
}

int main()
{
    int i,m,x,y;
    ifstream f("dfs.in");
    f >> n >> m;
    while(m--)
    {
        f >> x >> y;
        add(x,y);
        add(y,x);
    }
    f.close();
    for(i = 1; i <= n; i++)
        if(viz[i] == 0)
        {
            cnt++;
            df(i);
        }

    g << cnt;
    g.close();
    return 0;
}