Pagini recente » Cod sursa (job #1594713) | Cod sursa (job #564210) | Cod sursa (job #2560084) | Cod sursa (job #2270885) | Cod sursa (job #330041)
Cod sursa(job #330041)
#include <fstream.h>
#define MaxN 100009
#define MaxM 200009
int s[MaxN],T[2][2*MaxM],n,m,uz[MaxN],nr;
void add(int x,int y,int &st)
{
T[0][st]=y;
T[1][st]=s[x];
s[x]=st;
st++;
}
void cit()
{
int i,x,y,st=1;
ifstream fin("dfs.in");
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>x>>y;
add(x,y,st);
add(y,x,st);
}
fin.close();
}
void DFS(int nod)
{
uz[nod]=1;
int p=s[nod];
while(p)
{
if(!uz[T[0][p]])
DFS(T[0][p]);
p=T[1][p];
}
}
void afis()
{
ofstream fout("dfs.out");
fout<<nr;
fout.close();
}
int main()
{
cit();
for(int i=1;i<=n;i++)
if(!uz[i])
{
nr++;
DFS(i);
}
afis();
return 0;
}