Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. void floyd_warshal(vector<vector<int>> v, int n) {
  2. vector<vector<int>> dist;
  3. vector<vector<int>> recor;
  4.  
  5. //iniciar vector de vector
  6. vector<int> aux;
  7. for (int i = 0; i < n; i++)
  8. aux.push_back(INF);
  9.  
  10. for (int i = 0; i < n; i++) {
  11. dist.push_back(aux);
  12. recor.push_back(aux);
  13. }
  14.  
  15. for (int i = 0; i<n; i++) {
  16. for (int j = 0; j<n; j++) {
  17. recor[i][j] = j;
  18. }
  19. }
  20.  
  21. for (int i = 0; i<n; i++)
  22. for (int j = 0; j<n; j++)
  23. dist[i][j] = v[i][j];
  24.  
  25.  
  26. for (int k = 0; k<n; k++) {
  27. for (int i = 0; i<n; i++) {
  28. for (int j = 0; j<n; j++) {
  29. if (dist[i][k] + dist[k][j]<dist[i][j]) {
  30. dist[i][j] = dist[i][k] + dist[k][j];
  31. recor[i][j] = k;
  32. }
  33. }
  34. }
  35. }
  36. cout << "Tabla de Distancia: " << endl << endl;
  37. dibujar(dist);
  38. cout << endl;
  39. cout << "Tabla de Recorrido: " << endl << endl;
  40. dibujar(recor);
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement