Cod sursa(job #1610077)

Utilizator vladmatei139Matei Vlad-Cosmin vladmatei139 Data 23 februarie 2016 11:31:01
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.9 kb
#include <iostream>
#include <fstream>
using namespace std;
struct muchie
{
    int a,b;
};
int main()
{
    int n,m,v[100],i;
    int nr=0;
    muchie muchie[100];
    ifstream f("dfs.in");
    f>>n>>m;
    for(i=1;i<=m;i++)
        {
            f>>muchie[i].a>>muchie[i].b;
        }
    for(i=1;i<=n;i++)
        v[i]=0;
    for(i=1;i<=m;i++)
        if(v[muchie[i].a]==0 && v[muchie[i].b]==0)
        {
            nr++;
            v[muchie[i].a]=nr;
            v[muchie[i].b]=nr;
        }
        else
        {
            if(v[muchie[i].a]!=0 && v[muchie[i].b]==0)
                v[muchie[i].b]=v[muchie[i].a];
            else
                if(v[muchie[i].b]!=0 && v[muchie[i].a]==0)
                    v[muchie[i].a]=v[muchie[i].b];
        }
    for(i=1;i<=n;i++)
        if(v[i]==0)
            nr++,v[i]=nr;
    ofstream g("dfs.out");
    g<<nr;
    return 0;
}