Advertisement
hegemon88676

LEE liniar

Feb 23rd, 2018
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.93 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. ifstream f("leeliniar.in");
  6.  
  7. int a[100][100],d[100],c[100],n,start,u,p;
  8. bool viz[100];
  9.  
  10. void citire()
  11. {
  12. int i,j;
  13. f>>n>>start;
  14. while(f>>i>>j)
  15. a[i][j]=a[j][i]=1;
  16. }
  17.  
  18. void LEE_liniar()
  19. {
  20. p=u=1;
  21. int i,x;
  22. c[1]=start;
  23. viz[start]=true;
  24. d[start]=0;
  25. while(p<=u)
  26. {
  27. x=c[p];
  28. for(i=1; i<=n; i++)
  29. if(a[i][x]&&!viz[i])
  30. {
  31. viz[i]=true;
  32. u++;
  33. c[u]=i;
  34. d[i]=d[x]+1;
  35. }
  36. p++;
  37. }
  38. }
  39.  
  40. int main()
  41. {
  42. citire();
  43. LEE_liniar();
  44. for(int i=1; i<=n; i++)
  45. if(i!=start)
  46. cout<<"Drumul de la "<<start<<" pana la "<<i<<" = "<<d[i]<<endl;
  47. cout<<endl<<"Nodurile in parcurere BF: ";
  48. for(int i=1; i<=u; i++)
  49. cout<<c[i]<<" ";
  50. }
  51. /*
  52. 6
  53. 4
  54. 1 4
  55. 1 3
  56. 2 4
  57. 3 4
  58. 3 5
  59. 5 6
  60. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement