问题描述:设有n件工作分配给n个人,将工作i分配给第j个人所需的费用为cij。试设计一个算法,为每个人都分配一件不同的工作,并使得总费用达到最小。
输入:第1行有1个正整数n(1≤n≤20),接下来的n行,每行n个数,表示工作费用。
输出:计算的最小总费用
样例输入:
3
10 2 3
2 3 4
3 4 5
样例输出:
9

继续采用分支限界法,每个节点中存放的是目前的安排状况,总花费,哪个工人已经被安排了工作,相比于旅行售货员问题,这个问题简单得多,不需要计算复杂的dis值,这个题dis的值就是父状态的dis值加上新安排的花费,相比之下很容易计算。

代码如下:

#include<bits/stdc++.h>
using namespace std;
int N;
int Map[1005][1005];
int flag[1005];
int ans=0x3f3f3f;
struct Node{int rank[1005];int f;int dis;int tar[1005];friend bool operator < (struct Node a,struct Node b){return a.dis>b.dis; }
};void bfs()
{priority_queue< Node >q;for(int i=1;i<=N;i++){struct Node n;n.dis=Map[1][i];n.f=1;n.rank[1]=i;memset(n.tar,0,sizeof(n.tar));n.tar[i]=1;q.push(n);}while(!q.empty()){struct Node temp=q.top();q.pop();if(temp.dis>ans)continue;for(int i=1;i<=N;i++){if(temp.tar[i]==1)   continue;struct Node nc;for(int j=1;j<=N;j++){nc.rank[j]=temp.rank[j];nc.tar[j]=temp.tar[j];}nc.f=temp.f+1;nc.tar[i]=1;nc.dis=temp.dis+Map[nc.f][i];if(nc.f==N){ans=min(ans,nc.dis);}q.push(nc);}}
}
int main()
{while(scanf("%d",&N)!=EOF){memset(flag,0,sizeof(flag));for(int i=1;i<=N;i++)for(int j=1;j<=N;j++)scanf("%d",&Map[i][j]);bfs();printf("%d\n",ans);}return 0;} ```

计算机算法设计与分析 工作安排问题相关推荐

  1. 计算机算法设计与分析教学大纲,《算法设计与分析》教学大纲

    <<算法设计与分析>教学大纲>由会员分享,可在线阅读,更多相关<<算法设计与分析>教学大纲(3页珍藏版)>请在人人文库网上搜索. 1.课程编号:&quo ...

  2. 国科大刘玉贵老师计算机算法设计与分析2021年期末考试题回顾

    总体感受 国科大研究生的计算机算法设计与分析课程有三位老师教授,分别是卜东波老师.陈玉福老师 和刘玉贵老师,这三位老师上课各有特色和风格.我选择的是刘玉贵老师的课程. 这门课程的内容挺充足的,但是有个 ...

  3. 计算机算法设计与分析(第4版) 王晓东 著 2012.2 笔记(这本书还不错,偏实用、有难度)

    计算机算法设计与分析(第4版) 目录 1 算法概述 2 递归与分治策略 3 动态规划 4 贪心算法 5 回溯法 6 分支限界法 7 随机化算法 8 线性规划与网络流 算法概述 复杂性分析 NP-完全性 ...

  4. 计算机算法设计与分析第四版复习,计算机算法设计与分析(第4版)第1章.ppt

    <计算机算法设计与分析(第4版)第1章.ppt>由会员分享,可在线阅读,更多相关<计算机算法设计与分析(第4版)第1章.ppt(50页珍藏版)>请在人人文库网上搜索. 1.计算 ...

  5. 计算机算法设计与分析考试题,《计算机算法设计与分析》习题及答案

    <计算机算法设计与分析>习题及答案 一.选择题 1.二分搜索算法是利用( A )实现的算法. A.分治策略 B.动态规划法 C.贪心法 D.回溯法 2.下列不是动态规划算法基本步骤的是( ...

  6. 国科大计算机算法设计与分析陈玉福,中科院陈玉福计算机算法设计与分析期末简答题答案.pdf...

    中科院陈玉福计算机算法设计与分析期末简答题答案 1. 贪心算法和动态规划算法有什么共同点和区别?它们都有那些优势和劣势? 共通点:动态规划和贪心算法都是一种递推算法 ,均有局部最优解来推导全局最优解 ...

  7. 计算机算法设计与分析第五章思维导图知识点总结 ( 初稿 )

    复习链接 计算机算法设计与分析第一章思维导图 计算机算法设计与分析第二章思维导图&&知识点总结 计算机算法设计与分析第三章思维导图&&知识点总结 计算机算法设计与分析第 ...

  8. 线性时间选择 python实现 计算机算法设计与分析

    最近算法老师布置了很多作业啊,其中一项就是要求实现书上<计算机算法设计与分析>28页的算法,实现过程如下:

  9. 计算机算法设计与分析(第5版)PDF

    <计算机算法设计与分析(第5版)>是2018年电子工业出版社出版的图书,作者是王晓东. 整本书的结构是:先介绍算法设计策略思想,然后从解决经典算法问题来学习,通过实践的方式去学习算法. 网 ...

最新文章

  1. usaco前两章小结
  2. Vijos P1131 最小公倍数和最大公约数问题【暴力】
  3. UA PHYS515A 电磁理论V 电磁波与辐射6 波导
  4. 5g的负面影响_设计系统的实施是否会对早期概念产生负面影响?
  5. 阿里云服务器安装onlyoffice_阿里云服务器安装 JDK 8
  6. 【正则表达式】IPv4地址的正则匹配
  7. 有意思:textarea resize属性下纯CSS交互效果
  8. 解决办法:java.lang.UnsatisfiedLinkError ... Can't find dependent libraries
  9. caffe框架的介绍
  10. UnityWebRequest加载音频
  11. iOS企业包下载安装
  12. 石川: 主流多因子模型巡礼
  13. 会议录音转文字(PC版)
  14. [Violation] ‘message‘ handler took 427ms
  15. MySQL中复制表的方式你知道几种
  16. 微信自定义分享pc正常手机不正常
  17. php漏洞 乌云,GitHub - grt1st/wooyun_search: 乌云公开漏洞、知识库搜索 search from wooyun.org...
  18. 网络工程师(软考)学习笔记8--数字调制技术及脉冲编码调制
  19. 实现32位和64位系统的Inline Hook API
  20. html网页放大时文字不换行_UI 设计师 HTML 极速入门教学

热门文章

  1. 怎么给没链接的flash加超链接
  2. 两本好书可能改变的我一生——致出版社的一封信!
  3. centos 低版本出现fatal: unable to access 'https://github.com/XXXX': SSL connect error
  4. OpenShift:外国的免费云平台
  5. 关于对象的思考(二)
  6. Python 16th Day
  7. BZOJ 3221: [Codechef FEB13] Obserbing the tree树上询问( 可持久化线段树 + 树链剖分 )
  8. mysql 主从不同步处理--数据库初始化
  9. BoneCP主要配置参数
  10. Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列十七】