Cod sursa(job #2194722)

Utilizator SmitOanea Smit Andrei Smit Data 14 aprilie 2018 11:01:11
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

int n,m,sol;
bool a[1003][1003],viz[1003];

void DFS(int x)
{
    int i;
    viz[x]=true;
    for(i=1;i<=n;++i)
    {
        if(a[x][i]==true)
            if(!viz[i])
                DFS(i);
    }
}

int main()
{
    int i,x,y;
    ifstream fin("dfs.in");
    fin>>n>>m;
    for(i=1;i<=m;++i)
    {
        fin>>x>>y;
        a[x][y] = a[y][x] = true;
    }
    fin.close();

    for(i=1;i<=n;++i)
    {
        if(!viz[i])
        {
            sol++;
            DFS(i);
        }
    }
    ofstream fout("dfs.out");
    fout<<sol<<"\n";
    fout.close();
    return 0;
}