Cod sursa(job #1307119)

Utilizator Silviu.Stancioiu@gmail.comSilviu Stancioiu [email protected] Data 1 ianuarie 2015 11:17:56
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include<fstream>

using namespace std;

bool a[1005][1005];
bool viz[1005];
    int n,m;
void DFS(int nod)
{
    viz[nod]=1;
    for(int i=0;i<n;i++)
    {
        if(!viz[i]&&a[nod][i])
        {
            DFS(i);
            //cout<<nod+1<<" "<<i+1<<endl;
        }
    }
}

int main()
{
    ifstream intrare("dfs.in");
    ofstream iesire("dfs.out");


    int cnt=0;
    intrare>>n>>m;
    for(int i=0;i<m;i++)
    {
        int x,y;
        intrare>>x>>y;
        a[x-1][y-1]=1;
        a[y-1][x-1]=1;
                //cout<<"c"<<endl;
    }

    for(int i=0;i<n;i++)
    {
        if(!viz[i])
        {
            cnt++;
            DFS(i);
        }
    }

    iesire<<cnt<<endl;

    intrare.close();
    iesire.close();

    return 0;
}