Advertisement
a53

dmink

a53
Mar 2nd, 2020
386
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. #include <iostream>
  2. #define N 101
  3. using namespace std;
  4. int n,m,k,a[N][N],niv[N],p[N],x[N],niv1[N],p1[N],x1[N];
  5.  
  6. void citire()
  7. {
  8. cin>>n>>m>>k;
  9. int x,y;
  10. for(int i=1;i<=m;++i)
  11. cin>>x>>y,a[x][y]=1;
  12. }
  13.  
  14. void bf(int r)
  15. {
  16. int s=1,d=1;
  17. p[r]=1;
  18. x[1]=r;
  19. niv[r]=0;
  20. while(s<=d)
  21. {
  22. for(int i=1;i<=n;++i)
  23. if(!p[i]&&a[x[s]][i])
  24. ++d,x[d]=i,p[i]=1,niv[i]=niv[x[s]]+1;
  25. ++s;
  26. }
  27. }
  28.  
  29. void bf1(int r)
  30. {
  31. int s=1,d=1;
  32. p1[r]=1;
  33. x1[1]=r;
  34. niv1[r]=0;
  35. while(s<=d)
  36. {
  37. for(int i=1;i<=n;++i)
  38. if(!p1[i]&&a[i][x1[s]])
  39. ++d,x1[d]=i,p1[i]=1,niv1[i]=niv1[x1[s]]+1;
  40. ++s;
  41. }
  42. }
  43.  
  44. int main()
  45. {
  46. citire();
  47. bf(1);
  48. bf1(1);
  49. bool gasit=false;
  50. for(int i=1;i<=n;++i)
  51. if(niv[i]==k||niv1[i]==k)
  52. cout<<i<<' ',gasit=true;
  53. if(!gasit)
  54. cout<<"Nu exista";
  55. cout<<'\n';
  56. return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement