Escolar Documentos
Profissional Documentos
Cultura Documentos
int resp = 0;
int[]
r = new int[resultado.size()];
int
i = 0;
for(int x: resultado) r[i++]=x;
for(i=1; i<r.length; i++) resp+=grafo[r[i]][r[i-1]];
return resp;
}
public static void main(String[] args) {
Grafo g = new Grafo("abcdef");
g.agregarRuta('a','b', 3);
g.agregarRuta('a','e', 6);
g.agregarRuta('a','f',10);
g.agregarRuta('b','c', 5);
g.agregarRuta('b','e', 2);
g.agregarRuta('c','d', 8);
g.agregarRuta('c','e', 9);
g.agregarRuta('c','f', 7);
g.agregarRuta('d','f', 4);
g.agregarRuta('e','f', 4);
char inicio = 'a';
char fin
= 'd';
String respuesta = g.encontrarRutaMinimaDijkstra(inicio, fin);
System.out.println(respuesta);
}
}
ALGORITMO FLOYD
import java.io.*;
import java.util. *;
public class DistanceBetween {
public static void main(String[] args) throws FileNotFoundException {
Scanner s = new Scanner(new File("DATA5.txt"));
int n = Integer.parseInt(s.nextLine());
int[][] dist = new int[60][60];
for(int y=0;y<60;++y)for(int x=0;x<60;++x)dist[y][x]=10000000;
Map<Character, Integer> map = new TreeMap<Character, Integer>();
for (int i = 0; i < n; ++i) {
String text[] = s.nextLine().split(" ");
int c = 0;
if (!map.containsKey(text[0].charAt(0))) {
map.put(text[0].charAt(0), c);
c++;
}
if (!map.containsKey(text[0].charAt(1))) {
map.put(text[0].charAt(1), c);
c++;
}
dist[map.get(text[0].charAt(0))][map.get(text[0].charAt(1))] =
Integer.parseInt(text[1]);
}
for (int k = 0; k < map.size(); ++k) {
for (int i = 0; i < map.size(); ++i) {
for (int j = 0; j < map.size(); ++j) {
dist[i][j] = Math.min(dist[i][j], dist[i][k] + dist[k][j]);
}
}
}
for (int i = 0; i < 5; ++i) {
String text = s.nextLine();
System.out.println(dist[map.get(text.charAt(0))][map.get(text.charAt(1))]);
}
}}