Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1. #include <fstream>
  2. using namespace std;
  3.  
  4. ifstream fin ("lantminim.in");
  5. ofstream fout ("lantminim.out");
  6.  
  7. int v[101], n, a[101][101], p, q, t[101];
  8.  
  9. void citire()
  10. {
  11. fin >> n >> p >> q;
  12. int i, j;
  13. while (fin >> i >>j)
  14. a[i][j] = a[j][i] = 1;
  15. }
  16.  
  17. void BFS(int start)
  18. {
  19. int st, dr, Q[101];
  20. st = 1;
  21. dr = 0;
  22. Q[++dr] = start;
  23. v[start] = 1;
  24. t[start] = 0;
  25. while(st<=dr)
  26. {
  27. int k = Q[st];
  28. for (int i=n; i>=1; i--)
  29. if(a[k][i]==1 && v[i]==0)
  30. {
  31. Q[++dr] = i;
  32. v[i] = 1;
  33. t[i] = k;
  34. }
  35. st++;
  36. }
  37.  
  38. }
  39.  
  40. void reconstituire(int stop)
  41. {
  42. int S[101], top=0;
  43. while (stop!=0)
  44. {
  45. S[++top] = stop;
  46. stop = t[stop];
  47. }
  48. fout << top << '\n';
  49. while (top!=0)
  50. fout << S[top--] << " ";
  51. }
  52.  
  53. int main()
  54. {
  55. citire();
  56. BFS(p);
  57. reconstituire(q);
  58. return 0;
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement