Pagini recente » Cod sursa (job #1030791) | Cod sursa (job #1229036) | Cod sursa (job #1011737) | Profil Cosmin-B. | Cod sursa (job #305700)
Cod sursa(job #305700)
#include <cstdio>
struct node{
node* next;
int id;
};
node* v[100010];
int sel[100010];
int st[100010];
int main(){
freopen("dfs.in","rt",stdin);
freopen("dfs.out","wt",stdout);
int m,n;
scanf("%d%d",&n,&m);
int i,j,l,stl;
node* tmp;
for(i=0;i<m;i++){
int a,b;
scanf("%d%d",&a,&b);
tmp=new node;
tmp->id=b;
tmp->next=v[a];
v[a]=tmp;
}
j=1;
for(i=1;i<n;i++)
if(!sel[i]){
j++;
st[0]=i;
sel[i]=1;
stl=1;
l=0;
while(l<stl){
for(tmp=v[st[l]];tmp;tmp=tmp->next)
if(!sel[tmp->id]){
st[stl++]=tmp->id;
sel[tmp->id]=1;
}
l++;
}
}
printf("%d",j);
return 0;
}