Cod sursa(job #2456261)

Utilizator Alex_dudeDudescu Alexandru Alex_dude Data 14 septembrie 2019 04:56:29
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.16 kb
#include <iostream>
#include <stdio.h>
#include <vector>
#include <queue>
#include <map>
using namespace std;

FILE *fin, *fout;

int n, m;
int compCount = 1;

typedef pair<int, int> muchie;
vector<muchie> muchii;
map<int, bool> viz;

void CitesteDate()
{
    int i;
    int x, y;

    fscanf(fin, "%d %d", &n, &m);

    for(i = 0; i < m; i++)
    {
        fscanf(fin, "%d %d", &x, &y);
        muchii.push_back(make_pair(x, y));
        muchii.push_back(make_pair(y, x));
    }
}

void DFS(int node)
{
    if(!viz[node])
    {
        viz[node] = true;
        for(muchie m : muchii)
        {
            if(m.first == node)
            {
                DFS(m.second);
            }
            else if (m.second)
        }
    }
}

void ScrieDate()
{
    fprintf(fout, "%d", compCount);
}

int main()
{
    fin = fopen("dfs.in", "r");
    fout = fopen("dfs.out", "w");

    CitesteDate();

    for(int index = 1; index < n; index++)
    {
        if(!viz[index])
        {
            DFS(index);
            compCount++;
        }
    }

    ScrieDate();

    fclose(fin);
    fclose(fout);
    return 0;
}