Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int n,m,a[101][101],x,y,pred[101],succ[101],i,j,d[101][101],nc=0;
- void citire()
- {int m1,m2;
- cin>>n>>m;
- for(int k=1;k<=m; k++)
- {cin>>m1>>m2;
- a[m1][m2]=1;
- }
- }
- void DF_succ(int x)
- { int i;
- succ[x]=1;
- for(i=1;i<=n;i++)
- if(a[x][i]==1&&succ[i]==0)
- DF_succ(i);
- }
- void DF_pred(int x)
- { int i;
- pred[x]=1;
- for(i=1;i<=n;i++)
- if(a[i][x]==1&&pred[i]==0)
- DF_pred(i);
- }
- int main()
- { int k;
- citire ();
- for(i=1;i<=n;i++)
- if(succ[i]==0)
- {
- DF_succ(i);
- DF_pred(i);
- for(k=1;k<=n;k++)
- if(pred[k]==succ[k])
- cout<<k<<' ';
- pred[k]=succ[k]=0;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement