Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. int n,m,a[101][101],x,y,pred[101],succ[101],i,j,d[101][101],nc=0;
  4. void citire()
  5. {int m1,m2;
  6. cin>>n>>m;
  7. for(int k=1;k<=m; k++)
  8. {cin>>m1>>m2;
  9. a[m1][m2]=1;
  10. }
  11. }
  12. void DF_succ(int x)
  13. { int i;
  14. succ[x]=1;
  15. for(i=1;i<=n;i++)
  16. if(a[x][i]==1&&succ[i]==0)
  17. DF_succ(i);
  18. }
  19. void DF_pred(int x)
  20. { int i;
  21. pred[x]=1;
  22. for(i=1;i<=n;i++)
  23. if(a[i][x]==1&&pred[i]==0)
  24. DF_pred(i);
  25. }
  26. int main()
  27. { int k;
  28. citire ();
  29. for(i=1;i<=n;i++)
  30. if(succ[i]==0)
  31. {
  32. DF_succ(i);
  33. DF_pred(i);
  34. for(k=1;k<=n;k++)
  35. if(pred[k]==succ[k])
  36. cout<<k<<' ';
  37. pred[k]=succ[k]=0;
  38. }
  39. return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement