Pagini recente » Clasamentul arhivei de probleme | Istoria paginii runda/belele/clasament | Cod sursa (job #1809930) | Cod sursa (job #1495436) | Cod sursa (job #530883)
Cod sursa(job #530883)
#include<fstream.h>
#include<stdio.h>
ifstream f("dfs.in");
ofstream g("dfs.out");
typedef struct nod{
int nr;
nod *ante;
};
nod *l[100000],*p;
long n,m,i,j,mm,max;
int v[100000];
int df(int k){
nod *q;
q=l[k];
v[k]=1;
while(q){
if(!v[q->nr])
df(q->nr);
q=q->ante;
}
return 0;
}
int main(){
f>>n>>m;
if(m==0) g<<"0\n";
else{
while(f>>i>>j){
p=new nod;
p->nr=i;
p->ante=l[j];
l[j]=p;
}
ifstream f2("dfs.in");
f2>>n>>m;
while(f2>>i>>j){
p=new nod;
p->nr=j;
p->ante=l[i];
l[i]=p;
}
mm=0;
for(i=1;i<=n;i++){
if(!v[i]){
mm++;
df(i);
}
}
g<<mm<<"\n";
f2.close();
f.close();
}
g.close();
return 0;
}