Cod sursa(job #1590890)

Utilizator gutam97Guta Mihai Adrian gutam97 Data 5 februarie 2016 17:10:15
Problema Parcurgere DFS - componente conexe Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("dsf.in");
ofstream g("dsf.out");
int i,j,r,a[100000],v[100000],k,n,m,e;
int main()
{f>>n>>m;
for(i=1;i<=m;i++)
    {k++;
    f>>v[k];
    k++;
    f>>v[k];
    if(a[v[k-1]]==a[v[k]]&& a[v[k]]==0)
        {r++;
        a[v[k]]=r;
        a[v[k-1]]=r;}
    else
        {if(a[v[k]]<a[v[k-1]]&&a[v[k]]!=0)
            {for(j=1;j<=k;j++)
                {if(a[v[j]]==a[v[k-1]])
                    a[v[j]]=a[v[k]];
                if(a[v[j]]>a[v[k-1]])
                    a[v[j]]--;}}
        else
            {if(a[v[k]]==0)
                a[v[k]]=a[v[k-1]];
            else
                if(a[v[k-1]]==0)
                    a[v[k-1]]=a[v[k]];}}}
for(i=1;i<=n;i++)
    if(a[i]==0)
        e++;
g<<r+e;}