Advertisement
Guest User

Untitled

a guest
May 21st, 2018
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. #define F first
  4. #define S second
  5. #define ll long long
  6. #define pb push_back
  7.  
  8. using namespace std;
  9. vector < vector < int > > v;
  10. vector < int > d;
  11. vector < int > pr;
  12. vector < int > fl;
  13. int main()
  14. {
  15. freopen("input.txt","r",stdin);
  16. freopen("output.txt","w",stdout);
  17. int n, s, f;
  18. cin >> n >> s >> f;
  19. // cerr << " eftfew ";
  20. for (int i = 0; i < n; i++){
  21. for (int j = 0; j < n; j++){
  22. cin >> v[i][j];
  23. }
  24. }
  25. for (int i = 0; i < n; i++){
  26. d[i] = v[s][i];
  27. }
  28. for (int i = 0 ; i < n-1; i++){
  29. int mi = 1e9, nom = 0;
  30. for (int j = 0; j < n; j++){
  31. if (d[j] < mi && fl[j] == 0) {mi = d[j]; nom = j; }
  32. int p = nom;
  33. fl[p] = 1;
  34. for (int j = 0; j < n; j++){
  35. if (fl[j] == 0 && v[p][j] + d[p] < d[j] ){
  36. d[j] = v[p][j] + d[p];
  37. pr[j] = p;
  38. }
  39. }
  40. }
  41. }
  42. if ( d[f] == 1e9){
  43. cout << -1;
  44. return 0;
  45. }
  46. cout << d[f];
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement