java及程序|工作分配问题 Java 回溯

问题描述:
设有n件工作分配给n个人。为第i个人分配工作j所需的费用为c[i][j] 。试设计一个算法,计算最佳工作分配方案,为每一个人都分配1 件不同的工作,并使总费用达到最小。
3
10 2 3
2 3 4
3 4 5




import java.util.Scanner; public class GongZuoFenPei { static int n; static int[][] p; static int[][] t; //标记数组 static int minP; static int tempMinP=0; public static void main(String[] args) { Scanner input= new Scanner(System.in); n=input.nextInt(); p=new int[n][n]; t=new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { p[i][j]=input.nextInt(); minP+=p[i][j]; } } getMinP(0); System.out.println(minP); input.close(); } public static void getMinP(int k){ if(k==n){ if(tempMinP



【java及程序|工作分配问题 Java 回溯】另一种思路可以求n的全排列,遍历,求出最优解

    推荐阅读