Cod sursa(job #1503275)

Utilizator Y0da1NUME JMECHER Y0da1 Data 15 octombrie 2015 20:35:11
Problema Parcurgere DFS - componente conexe Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <fstream>
//#include <iostream>
using namespace std;
int v[1001][1001], vf, nr=0, n;
int viz[1001];
/*void init(int k)
{
    //cout<<"Init\n";
    vf=1;
    st[vf]=k;
    viz[k]=1;
    //cout<<"Init OK!\n";
}*/
void df(int k)
{
    //cout<<"Defeu!\n";
    int i=1;
    viz[k]=1;
    for(i=1;i<=n;i++)
    {
        if(!viz[i] && v[k][i] )
            df(i);
    }

}
int main()
{
    ifstream g ("dfs.in");
    ofstream h ("dfs.out");
    int m, x, y, i;
    g>>n>>m;
    for(i=0;i<m;i++)
    {
        //cout<<"Citire OK!\n";
        g>>x>>y;
        v[x][y]=1;
        v[y][x]=1;
    }
    //df-probabil recursiv
    for(i=1;i<=n;i++)
    {
        //cout<<"For OK!\n";
        if(!viz[i])
        {
            nr++;
            df(i);
        }
    }
    h<<nr;
}