Pagini recente » Cod sursa (job #828316) | Cod sursa (job #1530951) | Cod sursa (job #11432) | Cod sursa (job #592429) | Cod sursa (job #3231295)
#include <fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
struct nod{
int info;
nod* urm;
};
nod* v[100001];
int viz[100001];
void dfs(int x)
{
viz[x]=1;
for(nod* p=v[x];p;p=p->urm)
if(viz[p->info]==0)
dfs(p->info);
}
int main()
{
int x,y,n=0;
while(f>>x>>y)
{
nod *p=new nod;
p->info=y;
p->urm=v[x];
v[y]=p;
n=max(n,x);
n=max(n,y);
}
int cnt=0;
for(int i=1;i<=n;i++)
{
if(viz[i]==0)
dfs(i);
cnt++;
}
g<<cnt/2;
return 0;
}