Cod sursa(job #1301059)

Utilizator bence21Bako Bence bence21 Data 25 decembrie 2014 15:41:44
Problema Parcurgere DFS - componente conexe Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<fstream>
using namespace std;
int main()
{
    ifstream f("dfs.in");
    ofstream g("dfs.out");
    int d=0,n,m,t[100001],i,x,y,j,p;
    f>>n>>m;
    for(i=1;i<=n;i++)
        t[i]=i;
    for(i=1;i<=m;i++)
    {
        f>>x>>y;
        if(t[x]>t[y])
        {
            p=t[x];
            for(j=p;j<=n;j++)
                if(t[j]==p)
                t[j]=t[y];
        }
        else if(t[y]>t[x])
        {
            p=t[y];
            for(j=p;j<=n;j++)
                if(t[j]==p)
                t[j]=t[x];
        }
    }
    for(i=1;i<=n;i++)
        if(t[i]==i)
            d++;
    g<<d;
    f.close();
    g.close();
    return 0;
}