回溯6--选择工作

回溯6--选择工作

一、心得

二、题目及分析

三、代码及结果

 1 #include <iostream>
 2 using namespace std;
 3 //原数据数组
 4 int data[6][6]={{0,0,0,0,0,0},{0,13,11,10,4,7},{0,13,10,10,8,5},{0,5,9,7,7,4},{0,15,12,10,11,5},{0,10,11,8,8,4}};
 5 //标记数组,遍历人,标记工作是否被做
 6 bool vis[6];
 7 //结果数组
 8 int ans[6];//用来存哪个人做的哪项工作
 9 //找最大值
10 int maxx=0;
11 int ansx[6];
12
13 void print(){
14     cout<<maxx<<endl;
15     for(int i=1;i<=5;i++){
16         cout<<ansx[i]<<" ";
17     }
18     cout<<endl;
19 }
20
21 void search(int step,int sum){
22     if(step==6) return;
23     else
24         for(int i=1;i<=5;i++){//每个人选工作
25             if(!vis[i]){
26                 sum+=data[step][i],vis[i]=true,ans[step]=i;
27                 if(sum>maxx){
28                     maxx=sum;
29                     for(int j=1;j<=5;j++){
30                         ansx[j]=ans[j];
31                     }
32                 }
33                 search(step+1,sum);
34                 vis[i]=false,sum-=data[step][i];
35             }
36         }
37 }
38
39 int main(){
40     search(1,0);
41     print();
42     return 0;
43 }

时间: 2024-10-10 17:52:21

回溯6--选择工作的相关文章

选择低薪喜欢的工作, 还是高薪不喜欢的工作 ?

<奇葩说>第5季, 第 7 期 李思恒 作为一个已经搬过砖的人... 教英语, 一节课20块钱, 脸烂了买面膜19.9元, 低薪, 没有办法坚持下去 喜欢的工作没有钱, 那会爽吗? 怕是干爽吧 不喜欢的工作也能体现个人的能力 选择了低薪的工作, 没有办法抵御生活的风险和意外(生老病死), 本来可以负担这一切, 但是任性的选择了喜欢低薪的工作 如果一直选择自己喜欢的东西, 其实是放弃了人生无限的可能性 不喜欢的东西, 我们要去尝试, 而选择不喜欢的工作, 其实是在瞎折腾, 年轻人, 不就是要瞎折

回溯法总结

转  http://www.zhimengzhe.com/bianchengjiaocheng/Javabiancheng/257227.html 1.回溯法 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就"回溯"返回,尝试别的路径.回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标.但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为

连载《一个程序猿的生命周期》-《发展篇》 - 10.欠薪的高薪和稳定的相对低薪,你会选择哪个?

注:看本篇文章前,请先看<发展的路上,艰难做出抉择> 在现在的公司做工业(大)数据平台,刚开始来就我一个人,算是总体牵头人或是负责人吧.肯定是有压力,但是经过一年的努力,基础框架已经基本建好.数据链路已经打通.现在6个人的团体,总体来讲比较满意,2个80后(其中一个是89年).4个90后,已经度过了磨合期,开始走向正轨,从长远来看仍然需要扩充人员.尽管有工作压力,领导也表示放开招人,但是在招聘的过程中也是本着符合价值的基本原则,并没有一味的高薪招揽人员. 团队里只有一个人是通过社会招聘进来的,

2016年第2本:选择的悖论

生活中总会遇到大大小小的选择,人生就是一个做决定的过程.互联网时代,可选的东西更多了.可供选择的东西越多越好吗?如何在过多的选择中取舍?本书给出了11条建议. 我整理的笔记中有些内容借鉴了黑择明的读书笔记. 第1章:“小决定暴政”的受害者 生活中各种各样的选择让我们不知所措. 生活中遇到可选择的事情太多,买生活用品.买家电.淘宝.选学校.学生选课.选电视节目,都提供了数十.数百种选项,选项多了真的好吗?过多的选择会占据原本可以用于其他重要事情的时间和精力,因此反而会侵犯我们的自由.面临太多选择的

关于找工作和工作的一点思考:劳动经济学观点

笔者不是牛人,换过工作的也不是很多,不过在找工作和工作的过程中还是形成了一点感想,写下来和大家讨论. 基本观点 我主要从经济的角度分析这个问题.首先工作是什么:是一种雇佣关系.从市场经济的角度,这是劳动在劳动市场(Labour Market)中进行交换的过程.这里就有个要注意的地方:在市场中进行交换的,是劳动,不是劳动者这个人,这个容易理解.另外,也不是劳动者的技术或能力,而是劳动这个过程.什么意思呢?比如富士康雇佣工人组装手机,对于富士康来说,它需要的是工人把手机组装起来这么一个过程.如果一个

Eclipse 工作目录被破坏,导致Eclipse 打不开

由于之前一直使用的的是 visual studio 的开发工具,对 java 的 Eclipse 工具比较陌生,在使用 eclipse 的过程中误删了工作目录的部分文件,导致在在下次启动 eclipse 的过程中,eclipse启动后弹出一个错误的窗口,然后就关闭,一直打不开,在网上找了N遍的资料,也没有针对这个错误的的解决办法,最后还是终于解决了.解决办法如下: 1. 将 eclipse 工作目录中的 .metadata 文件彻底删除,然后再启动 eclipse, 启动后, eclipse 会

eclipse myeclipse修改工作区间 an error has occurred. see error log for more details. java.lang.nullpointerexception 问题解决

解决办法:修改项目工作空间. 修改工作空间,以前打开myEclipse时知道怎么改!现在只有找配置文件了! 步骤: MyEclipse 5.1.1 GA----->Eclipse----->configuration------>.settings---->org.eclipse.ui.ide.prefs文件 #Tue Jul 28 09:10:40 CST 2009 RECENT_WORKSPACES_PROTOCOL=2 MAX_RECENT_WORKSPACES=5 SHOW

关于工作的一些想法

在IT圈混了三年,终于有心思静下来回顾总结一下,欢迎各位指教或拍砖.. 刚毕业的时候,在一家待遇还不错的外企技术部门做技术含量较低的应用实施相关工作,公司有自己的产品,利润丰厚,所以整体工作环境也让大多数人满意.在很多人看来,这份工作轻松,又在全球性企业,领导是外国人,不加班...种种优势,但我做了一年离职了,关键因素是太清闲,学不到技能.我自己觉得我的选择是对的,刚毕业的前几年,还要以学习为主要目的,太清闲的工作容易扼杀人的斗志.针对我的第一份工作,个人总结出几条教训: 1.选择工作要明确目的

教你如何在XMind 6画布导出工作簿

XMind不仅支持工作簿.画布形式进行绘制,还能够将画布转化为工作簿进行导出.例如当我们仅仅需要提取整个工作簿中的单个画布时,我们需要将画布从工作簿中脱离出来,进行导出. 运行XMind 6思维导图,并打开目标画布所在的XMind文件. 将鼠标焦点放在目标画布上,选中当前画布.点击"文件-画布另存为".或者直接右击画布名称,选择画布另存为. XMind将以复制目标画布至新的工作簿. 保存新建的工作簿即可,界面将会自动跳出保存页面,选择工作簿保存位置. 提示:我们可以手动地将原有的画布中