要求把n项任务分配给n个人,每个人完成每项任务的成本不同,要求分配成本最小的最优分配方案。
代码:
#include <iostream>
#define N 205
using namespace std;
int c[N][N];
int x[N];
int BestM[N];
int n;
int Bmin=999999999;
int sum(int k)
{
int temp=0;
for(int i=1;i<=k;i++)
temp+=c[i][x[i]];
return temp;
}
void backtrack(int t)
{
if (t==n){
int ans=sum(n);
if(ans<Bmin){
Bmin=ans;
for(int i=1;i&l