Cod sursa(job #2825691)

Utilizator toda.emanuelatoda emanuela toda.emanuela Data 5 ianuarie 2022 00:41:18
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");

int start[100001],t[2][400001],i,j,k,n,m,viz[100001];

void dfs(int x,int y)///nod si coloana
{
     viz[t[0][y]]=1;
    if(t[1][y])
    {

         dfs(t[0][y],t[1][y]);
    }
}
int main()
{
    f>>n>>m;
    int o;
    for(o=1;o<=m;o++)
    {
        f>>i>>j;
        k++;
        t[0][k]=j;
        t[1][k]=start[i];
        start[i]=k;
        k++;
        t[0][k]=i;
        t[1][k]=start[j];
        start[j]=k;
    }
    int nr=0;
    for(o=1;o<=n;o++)
        if(viz[o]==0)
        {
            viz[o]=1;
            nr++;
            dfs(o,start[o]);
        }

    g<<nr;
    return 0;
}