回溯法解决工作分配问题

回溯法解决工作分配问题
问题描述:
设有n件工作分配给n个人。为第i个人分配工作j所需的费用为c[i][j] 。试设计一个算法,计算最佳工作分配方案,为每一个人都分配1 件不同的工作,并使总费用达到最小。
代码块如下:

package suanfa;
import java.util.Scanner;

public class 工作分配问题回溯法 {

static int n,cost=0;                 //耗资cost为0  n为员工数量
static int c[][]=new int[100][100];  //各员工在各工作上的工资

static void work(int i,int count , int x[]){
	
    if(i>n && count

public static void main(String args[]) {

    Scanner sc=new Scanner(System.in);
    System.out.print("       请  输  入  员  工  数  量   :");//输入问题规模
    n=sc.nextInt();
    int x[]=new int[n+1];//用于记录工作安排
    System.out.println("       输入各员工在各工作的工资");
    System.out.print("       工     作     编     号       :");
    for(int i=1;i<=n;i++)  System.out.print(i+"  ");
    System.out.println();
    for(int i=1;i<=n;i++){
    	 System.out.print("       员     工     编     号 ("+i+"):");
      for(int j=1;j<=n;j++){
        c[i][j]=sc.nextInt();//输入各个数据
        x[j] = 0;  //初始化工作安排
      }
      cost+=c[i][i];  //初始耗资:按员工顺序安排工作
    }
    //展示初始安排信息
    System.out.println("       初   始   工   作   安   排-----------------------");
    for(int i=1;i

}
}

本人小白一名,还请各位大佬多多指教!!!

你可能感兴趣的:(算法,回溯法,工作分配问题,递归调用)