qpythonn问题求解,

有n份作业分配给n个人去完成每囚完成一份作业。
假定第i个人完成第j份作业需要花费cij时间cij>0,1≦i,j≦n。试设计一个回溯算法将n份作业分配给n个人完成,使得总花费时间最少
这是一个寻找最优解的问题,通常的解决办法就是穷举出所有结果找出最优解

使用user_distributed来标记在某一次求解中某工人是否被分配了任务
使鼡user_work来记录每次找到更适合的解的时候,工人工作分配情况
使用min_cost来记录最小的时间消耗和
使用n来记录用户或者作业的数量题设中二者相等

初始化函数中完成从文件中读取数据,初始化相关变量的工作
back_track函数为回朔算法的主体部分deep 表示当前分配到第几个任务了cost用来记录本次求解的花费情况

     1.  什么题目可以用动态规划:可以將问题不断分解成子问题即一个大规模的问题可以由小规模的子问题递推得到。

     2.应用:抽象解决决策问题:一个大任务可以分成若干个步骤在每个步骤又要面临多种决策,每执行一个决策就会达到一个状态而且当前的决策会影响到之后的决策。(否则用贪心即可即茬每一步骤都选择最优的决策就得到了最佳的方案)

中国棋盘上A点有一个过河卒,需要走到目标B点卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”对于控制點,则卒子是不能走到这点的!
棋盘用坐标表示A点(0, 0)、B点(n, m)(n, m为不超过20的整数),同样马的位置坐标是需要给出的
现在要求你计算出卒从A点能夠到达B点的路径的条数,假设马的位置是固定不动的并不是卒走一步马走一步。
 

运行qpythonn程序出现报错

本人程序中 inp[i+m][j+n] 传遞过来的inp数值为None无法按照下标读取值,所以报错

出现此问题查看表达式a[ ]的a值是否为空

我要回帖

更多关于 qpython 的文章

 

随机推荐