Cod sursa(job #1301059)
| Utilizator | 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;
}
