1.实践问题:工作分配问题

2.问题描述

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

输入格式:

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

输出格式:

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

3.算法描述

解空间:(a1,a2,a3,......,an),a1表示第一个人被分配的工作序号,以此类推。

解空间树如下:

剪枝:

当前工作费用与下一个待分配工作费用大于已知的可行解的费用,则无需对其及其子树进行遍历,即剪枝

for(int i=t;i<=n;i++)

{   if(sum+c[t][a[i]]>m)

{

continue;

}

else

{

sum += c[t][a[i]];

swap(a[t],a[i]);

BackTrack(t+1);

swap(a[t],a[i]);

sum -= c[t][a[i]];

}

}

4.心得体会

课堂听讲的时候觉得剪枝已经都理解了,但在上机自己敲代码时,代码不够对称导致出错,所以错了很多遍,后面错着错着就理解了,现在对回溯法也更加熟悉,不再是纸上谈兵。

python第五章上机实践报告_第五章实践报告 - osc_kk5bjg1i的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. python灰色关联度分析代码_灰色关联分析法步骤 - osc_uwnmtz9n的个人空间 - OSCHINA - 中文开源技术交流社区...

    https://wenku.baidu.com/view/dc356290af1ffc4fff47ac0d.html?rec_flag=default&sxts=1538121950212 利 ...

  2. python计算等额本金_等额本金-逆推 - tedzheng的个人空间 - OSCHINA - 中文开源技术交流社区...

    等额本金是递归逆推的一个方法: 父亲准备4年的生活费,使且整存零取的方式,控制每月底只能提取1000元,假设银行年利息为1.71% 思路: 第48个月取出1000,则要先求出47个月时银行存款的具体金 ...

  3. python数组和链表的区别_数组和链表的区别 - toddler的个人空间 - OSCHINA - 中文开源技术交流社区...

    数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素.但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中.同 ...

  4. python回车和换行的区别_回车与换行的区别 - bithup的个人空间 - OSCHINA - 中文开源技术交流社区...

    区别: \r: 全称:carriage return (carriage是"字车"的意思,打印机上的一个部件) 简称:return 缩写:r ASCII码:13 作用:把光标移动到 ...

  5. 关于码云的一些基本知识_网络攻防前期知识储备 - osc_ojkfylwq的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.如何提问 1.我的观点:提问分为课堂提问和课下提问两种.课堂中应该是当面交流的,更加鼓励当有疑问的时候在稍作整理思路后直接大胆的提问.课下疑问的解决,不可能时时的交流,更加需要独立的思考,而提问需 ...

  6. java选择排序不稳定_选择排序就这么简单 - Java3y的个人空间 - OSCHINA - 中文开源技术交流社区...

    选择排序就这么简单 从上一篇已经讲解了冒泡排序了,本章主要讲解的是选择排序,希望大家看完能够理解并手写出选择排序的代码,然后就通过面试了!如果我写得有错误的地方也请大家在评论下指出. 选择排序介绍和稳 ...

  7. java新建常量_【Java】常量 - 每日坚果的个人空间 - OSCHINA - 中文开源技术交流社区...

    常量是什么: 常量是初始化值后不能再改变的值,可以理解为只能赋值一次的变量 创建常量的三种方式: 1. 在类中使用final修饰 定义: public class Demo04 { final int ...

  8. python语言是由谁设计并领导开发的_python语言概述 - osc_lt3ocv4d的个人空间 - OSCHINA - 中文开源技术交流社区...

    python语言的发展 python语言诞生于1990年,由Guide van Rossum设计并领导开发. python语言是开源项目的优秀代表,其解释器的全部代码都是开源的. 编写Hello程序 ...

  9. 舞蹈链java实现_舞蹈链(DLX) - osc_kpp7htz3的个人空间 - OSCHINA - 中文开源技术交流社区...

    #舞蹈链(DLX) Tags:搜索 ##作业部落 ##评论地址 ##一.概述 特别特别感谢这位童鞋His blog 舞蹈链是一种优美的搜索,就像下面这样跳舞- 舞蹈链用于解决精确覆盖或者重复覆盖的问题 ...

最新文章

  1. transfer function
  2. 【OpenCV3】级联分类器训练——traincascade快速使用详解
  3. 用syslinux启动u盘
  4. leetcode1351. 统计有序矩阵中的负数(二分查找)
  5. python怎样连续输入两个数字_python实现输入数字的连续加减
  6. php清理html table样式,Parse HTML Table - PHP [closed]
  7. watch gt3 鸿蒙,华为Watch3有什么功能-华为Watch3功能介绍
  8. c# 获取html代码怎么写,C#获取网页源代码的方法
  9. 我一定要让所有人都知道awk这个实用操作
  10. 编程语言python入门-为什么说python是适合新手入门的编程语言
  11. kotlin button_使用Kotlin和XML的Android Button
  12. java之正则表达式、日期操作
  13. java 车牌号识别_JAVA车牌识别(包含车牌定位及车牌内容识别)
  14. 如何把握云计算时代风口 怎么能掌握云计算技术
  15. 迅视财经 五条特色大街上线
  16. java 中的连接超时_【java中处理http连接超时的方法】
  17. 统计自然语言处理梳理二:句法分析
  18. 酷夏来临,如何做好足部养生预防脚病?
  19. pe下bootice修复Linux引导,pe下修复引导不成功?这种方法才是最有效的解决方法...
  20. shortcut详解

热门文章

  1. AUTOSAR从入门到精通100讲(六)-Multicore-多核存储优化
  2. AUTOSAR从入门到精通100讲(二)-SOME/IP及其应用
  3. ios framework 找不到.h_找不到好看的壁纸?上万张「高清壁纸」,都在iOS捷径里...
  4. linux防火墙配置说明,Linux防火墙配置命令参数说明
  5. java bundle_java.util.ResourceBundle国际化用法详解
  6. 让一个文字在背景图片水平居中的方法
  7. mysql1130_解决远程连接mysql错误1130的方法
  8. 字符集_第07期:有关 MySQL 字符集的 SQL 语句
  9. outlook自动保存html,当创建一个新的HTML电子邮件时保持默认的Outlook格式
  10. antd form 初始化时间