设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。

输入格式:

输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用。

输出格式:

将计算出的最小总费用输出到屏幕。

输入样例:

在这里给出一组输入。例如:

3

10 2 3

2 3 4

3 4 5

输出样例:

在这里给出相应的输出。例如

9

3.算法描述(包括解空间,画出测试样例的解空间树,剪枝(约束函数或限界函数)方法描述)

解空间为排列树

测试样例的解空间树如下

核心代码:

void Backtrack(int n,int k){

if(k==n+1){

Output();

return ;

}

for(int i=1;i<=n;i++){

if(!r[i]){

r[i]=true;

c+=a[k][i];

if(c

Backtrack(n,k+1);

}

c-=a[k][i];

r[i]=false;

}

}

}

利用c

4.心得体会

做工作分配问题的时候很快得到解空间树,觉得这个有点像旅行售货员问题,但是不知道如何在程序中构建这样一棵树,不知道如何将已安排的工作排除在外以及将被安排工作的排除在外,好在经过与同伴讨论之后,发现可以利用r[i]为true还是false来判断第i个人是否得到工作安排。

mysql第五章上机事务_算法第五章上机实践相关推荐

  1. 在一个程序中什么算是亮点_算法的五个重要特性是

    算法的五个特征是?如题 1.有穷性: 一个算法必须保证执行有限步之后结束: 2.确切性: 算法的每一步骤必须有确切的定义: 3.输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是 ...

  2. 盖档案骑缝章的样本_盖印鉴骑缝章的技巧 涨知识了

    在日常工作中,有时候需要盖骑缝章,那么骑缝章怎么盖呢?接下来,分享盖骑缝章的技巧,希望对您有所帮助. 操作方法 01 一页纸上盖骑缝章,比如离职证明,有些公司会盖骑缝章,然后公司存档其中一半.这时,以 ...

  3. 五轴数控转台_为什么说五轴数控机床RTCP功能非常重要!

    工业制造机械.数控.制造原理近年来五轴联动数控加工中心在各领域得到了越来越广泛的应用.在实际应用中,每当人们碰见异形复杂零件高效.高质量加工难题时,五轴联动技术无疑是解决这类问题的重要手段.越来越多的 ...

  4. 盖档案骑缝章的样本_盖印鉴骑缝章的技巧

    在工作中一些重要的文件除了盖上公章之外,还需要盖上骑缝章,以防中间的页面被人造假或丢失了以后也能明显的发觉出来.骑缝章需要一定的技巧,骑缝章不盖好的话,则没有起到它的作用.下面就由找法网小编为大家整理 ...

  5. java蛮力法背包问题_[算法课]五种蛮力法解决01背包问题

    文章目录 注明:题目要求只能使用蛮力法 算法标签:全排列,枚举,二进制,dfs,数组 题目简介 思路 AC代码 方法一:字符串蛮力 方法二:二进制枚举 方法三:DFS 三.2闫老板思考角度 方法四:全 ...

  6. 五轴数控转台_什么是五轴联动数控机床

    一.五轴联动简介 首先,什么是五轴联动呢?五轴联动是指在一台机床上至少有五个坐标轴(即三个直线坐标和两个旋转坐标),而且可在计算机数控(CNC)系统的控制下同时协调运动进行加工.五轴联动机床有立式.卧 ...

  7. 斗地主AI算法——第四章の权值定义

    第一章业务逻辑结尾部分我提到了权值的计算方法: ①每个单牌都有一个基础价值②组合牌型的整体价值与这个基础价值有关,但显然计算规则不完全一样.③整手牌可以分成若干个组合牌,但分法不唯一. 当时,我说了① ...

  8. 斗地主AI算法——第六章の牌型判断

    本章实现了上一章提到的检查当前是否只是一手牌函数ins_SurCardsType /* 检查剩余的牌是否只是一手牌是: 返回手牌类型数据 不是:返回错误类型(cgERROR) */ CardGroup ...

  9. 斗地主AI算法——第三章の数据处理

    上一章我们定义了基本的数据结构,相信大家看到手牌类里面那么多出牌序列时一定会比较愤慨... 其实一开始写的时候我也是觉得很脑残,不过后续开发证明了这样的结构还是可以的,因为只要我封装了一层数据转换,接 ...

最新文章

  1. Android网络之数据解析----SAX方式解析XML数据
  2. Java编程思想读书笔记--第21章并发
  3. python 均值漂移
  4. 6、spring拦截器
  5. node mysql 事件循环_NodeJs 的 Event loop 事件循环机制详解
  6. 横向对比5大开源语音识别工具包,CMU Sphinx最佳
  7. [POI2006]Tet-Tetris 3D
  8. cisco 的网络地址转换技术(NAT)
  9. 百度云平台BAE空间申请
  10. 马云给公司年轻员工的一封信
  11. 计算机无法搜索到打印机驱动,电脑连接打印机需要装什么驱动(电脑搜不到打印机设备)...
  12. html中写模态框,Html 模态框操作
  13. 小程序模板报价_小程序模板价格_小程序模板使用多少钱
  14. oracle去掉0x00,Oracle O001 / O00n 进程 100% CPU资源耗用
  15. charAt(i) 呵 charAt(i)-‘0‘的 区别
  16. JAVA应用中集成SF的chatter功能及开发步骤
  17. 目前还存活的多个电驴下载站点!电驴达人收藏
  18. 思科网络模拟器EVE安装(附安装包)
  19. 网络取图片先取先显示
  20. python核心编程笔记

热门文章

  1. HDOJ 1247 HDU 1247 Hat’s Words ACM 1247 IN HDU
  2. 图像灰度图,直方图,像素通道问题
  3. linux命令大全vi,待整理 - Linux 下的VI命令大全
  4. file watchers怎么默认打开_Python读写文件怎么和我之前学的不一样?
  5. NullPointerException int java.util.List.size()
  6. python中的递归函数是什么_讲解Python中的递归函数
  7. window环境下mysql配置参数_Window下mysql环境配置问题整理
  8. 如何获取元素与当前可视区域顶部的距离
  9. json.stringify()与json.parse()的区别,json.stringify()的妙用
  10. python自动点击网页按钮_Python+Selenium使用(二)- 自动点击下一页