Cod sursa(job #680833)

Utilizator dragangabrielDragan Andrei Gabriel dragangabriel Data 15 februarie 2012 23:13:38
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include<cstdio>
#include<vector>
#include <iterator>

int viz[200005],m,n,i,j,k,l,a,b;

using namespace std;
vector<int>v[200005]; 
int main()
{
	int rez=0;
	freopen("dfs.in","r",stdin);
	freopen("dfs.out","w",stdout);
	scanf("%d %d/n",&n,&m);
	for (i=1;i<=m;i++) 
	{
		scanf("%d %d/n",&a,&b);
		v[a].push_back(b);
		v[b].push_back(a);
	}
	for (i=1;i<=n;i++)
	{
		int ok=0;
	    for(vector<int>::iterator it=v[i].begin();it!=v[i].end();it++)
                         if(!viz[(*it)])    viz[(*it)]=1; else
							 ok=1;
		if ((viz[i]==0)&&(!ok)) rez++;
		viz[i]=1;				 
	}
	printf("%d",rez);
	return 0;
}