汕头地区网站建设推荐活动策划职位招聘,您期待什么样的候选人?
摘要:汕头网站建设推荐,活动策划招聘,seo排名工具给您好的建议,北京市通信管理局 网站备案题目 给定一张n个点的带权无向图,点从0~n-1标号,求起点0到终点n-1的最短Hamilto
汕头网站建设推荐,活动策划招聘,seo排名工具给您好的建议,北京市通信管理局 网站备案题目
给定一张n个点的带权无向图#xff0c;点从0~n-1标号#xff0c;求起点0到终点n-1的最短Hamilton路径。Hamilton路径的定义是从0到n-1不重不漏地经过每个点恰好一次。
输入格式
第—行输入整数n。 接下来n行每行n个整数#xff0c;其中第i行第j个整数表示点i到j的距…题目
给定一张n个点的带权无向图点从0~n-1标号求起点0到终点n-1的最短Hamilton路径。Hamilton路径的定义是从0到n-1不重不漏地经过每个点恰好一次。
输入格式
第—行输入整数n。 接下来n行每行n个整数其中第i行第j个整数表示点i到j的距离(记为a[i.i])。对于任意的, y,z数据保证a[x,x]0a[x,y]a[y,x]并且a[x,y]aly,z]a[x,z]。
输出格式
输出一个整数表示最短Hamilton路径的长度。
数据范围
1 ≤n ≤200≤a[i,j≤107
输入样例
5
0 2 4 5 1
2 0 6 5 3
4 6 0 8 3
5 5 8 0 5
1 3 3 5 0输出样例:
18题解
import java.util.Arrays;
import java.util.Scanner;/*** author akuya* create 2023-07-28-20:56*/
public class hamiltion {static int N20;static int M1N;static int n;static int w[][]new int[N][N];static int f[][]new int[M][N];public static void main(String[] args) {Scanner scannernew Scanner(System.in);nscanner.nextInt();for(int i0;in;i)for (int j 0; j n; j)w[i][j]scanner.nextInt();for(int i0;iM;i){Arrays.fill(f[i],0x3f);}f[1][0]0;for(int i0;i1n;i)for(int j0;jn;j)if((ij1)!0)for(int k0;kn;k)if(((i-(1j))k1)!0)f[i][j]Math.min(f[i][j],f[i-(1j)][k]w[k][j]);System.out.println(f[(1n)-1][n-1]);}
}
思路
本题同样是状态压缩类的动态规划具体思路如下图 i代表走过的点状态转移用到达j点的倒数第二个点转移方程得出为
f[i][j]Math.min(f[i][j],f[i-(1j)][k]w[k][j]);注意边界条件即可
