package aha;
import java.util.Scanner;
//1到n最短路径
public class zuiduan {
static int []book=new int [1000];
static int e[][]=new int [1000][1000];
static int n;
static int min=9999;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
n=sc.nextInt();
int m=sc.nextInt();
//初始化矩阵
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(i==j)
e[i][j]=0;
else
e[i][j]=9999;
}
}
//初始化边
for(int i=1;i<=m;i++){
int a=sc.nextInt();
int b=sc.nextInt();
int c=sc.nextInt();
e[a][b]=c;
}
book[1]=1;
dfs(1,0);
System.out.println(min);
}
private static void dfs(int cur, int dis) {
// TODO Auto-generated method stub
if(dis>min) return;//大于直接放弃
if(cur==n){//到了目的地
if(min>dis){
min=dis;
}
return;
}
for(int i=1;i<=n;i++){
if(e[cur][i]!=9999&&book[i]==0){
book[i]=1;
dfs(i,dis+e[cur][i]);
book[i]=0;//取消对该城市的标记
}
}
return ;
}
}
最短路径,一般都用广搜啊,广搜用Java实现我很迷茫啊
深搜-最短路径
最新推荐文章于 2023-11-24 12:39:13 发布