任务安排(搜索)

给定N(<=30)个人和N台机器,以及每个人操作某台机器的收益。请计算所有人都工作的情况下,最大的收益和。
输入:
第一行两个数分别表示人和机器的数量(两数相等)
接下来若干行,每行三个数,a,b,c表示a 操作机器b的收益为c.
输出:
两个数。(第一个数表示参加工作的人数(此数为N),第二个数表示最大收益和。)
样例:
输入:
3 3
1 2 10
1 1 9
1 3 3
2 1 10
2 2 9
2 3 3
3 1 8
3 2 9
3 3 8
输出:
3 28

简单搜索,暴力剪枝。

 1 #include <cstdio>
 2 #include <cstdlib>
 3 #include <cstring>
 4 #include <iostream>
 5 #include <algorithm>
 6 using namespace std ;
 7
 8 int cnt, jv[31][31][2], sum[31], ans ;
 9 bool used[31] ;
10 struct id { int sze, chu ; }; id lie[31] ;
11
12 int cmp ( id a, id b ) {
13     return  a.chu < b.chu ;
14 }
15
16
17 void dfs ( int sze, int jia ) {
18     if( sze> cnt ) {
19         if(ans < jia ) ans = jia ;
20         return ;
21     }
22     int now = lie[sze].sze ;
23
24     if( sum[cnt] - sum[sze-1] + jia <= ans ) return ;
25     for(int x = jv[now][0][0]; x>=1; x--) {
26         int to = jv[now][x][0] ;
27         if( used[to] ) continue ;
28         used[to] = 1 ;
29         dfs( sze+1, jia+jv[now][x][1] ) ;
30         used[to] = 0;
31     }
32     return ;
33 }
34
35
36
37 int main ( ) {
38 //    freopen( "1.txt", "r", stdin ) ;
39     scanf( "%d", &cnt ) ; scanf( "%d", &cnt ) ;
40     int a, b, c;
41     int n[31] ; memset( n, 0, sizeof(n) ) ;
42     while( cin>>a>>b>>c ) {
43         jv[a][ ++jv[a][0][0] ][0] = b ;
44         jv[a][ jv[a][0][0] ][1] = c ;
45         n[a] = max( n[a], c ) ;
46     }
47     for(int x = 1; x <= cnt; x++) {
48         lie[x].chu = jv[x][0][0] ;
49         lie[x].sze = x ;
50     }
51     sort(lie+1, lie+1+cnt, cmp) ;
52
53     for( int x = 1; x <= cnt; x++) {
54         int now = lie[x].sze ;
55         sum[x] = sum[x-1] + n[now] ;
56     }
57     dfs( 1, 0 ) ;
58     printf( "%d %d\n", cnt, ans) ;
59 }
时间: 2024-12-28 18:39:17

任务安排(搜索)的相关文章

伊朗感谢中国搜救桑吉轮 中方:将安排机器人搜索

嗯我看了看秦韵笑道谢谢了这次多亏了你帮忙不然我一个人肯定手忙脚乱了赤炎护手青铜器皮甲当我将长柄战斧握在手中目光一扫之后装备的属性立刻跳跃眼前嗯咱们认识到现在你这句话最有道理出现在暮光城的王宫内在我面前赫然是大祭司罗宁那张充满希冀的脸庞好家伙我下线个小时他居然就像个电线杆一样的杵在这里小时当我踏入第三层的时候不由得一惊三层居然没有了幽冥武士和幽冥刺客取而代之的则是一众拿着弓箭的幽冥弓箭手 当我踏步上前的时候立刻得到了提示你已经进入地图月光矿坑而哥布林的斧头也缓缓的落在我的肩膀上微微一痛掉了点血答问

十大高明的Google搜索技巧

转载自https://www.mifengtd.cn/articles/ten-tips-for-smarter-google-searches.html Google是一个非常精密成熟的搜索引擎,但大多数的用户都没有能完全地利用到它的能力.一般人就是在Google的搜索框中输入一两个关键 字,然后点击"搜索"按钮,等着Google显示出它第一页的搜索结果.这是一个相当简单模式匹配算法的搜索,不幸的是,通常此时出现的大部分都是并不需要的结果. 所以这篇文章中将向你展示如何更智能.更高效

《对象程序设计》课程 课程设计、考试安排 及 教师建议

通知 (1)课程设计时间 第18周周一-周五上午,软件一室.(有兴趣的同学下午也可以在里面,电脑很多,下午是网络131班课程设计时间) 课程设计题目,老师将于下周(16周)发给大家(公布在CSDN博客 及 通知学委黎文),请大家提前准备. (2)考试时间 第18周周三下午(计划),请大家好好复习,开卷考试,主要考察大家对基础的掌握程度.杜绝作弊(老师从这个学期开始会严抓考试纪律,发现第一个作弊的同学将没收考卷,第二个报送到教务处,请大家理解). (3)老师工作时间 老师已经在湛江,除短暂外出学习

Unity与Android交互-Unity接入高德地图实现定位以及搜索周边的功能(使用Android Studio)详细操作

刚进公司给安排的任务就是Unity接入高德地图,算是踩了不少坑总算做出来了,抽点时间写个博客记录一下 废话不多说 先上效果图 获取定位并根据手机朝向显示周边信息            使用的Unity版本为5.5,Androad Studio 2.3.1 接下来开始讲具体操作 首先是Androad Studio的基本配置 1.创建工程,空白的就行,反正也用不到界面布局 等待创建完成 2.新建库模块: 切换到Project视图 右击你的项目 新建一个库模块-用来负责与Unity交互 当然你也可以不

Doing Homework---hdu1074(状态压缩&amp;&amp;记忆化搜索)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 有n(n<=15)门课需要做作业,每门课所需时间是used_time以及每门课作业上交的最后期限是deadline,晚交一天扣一分,现在来安排最好的写作业计划,让最终的扣除分数最少:   由于n的取值范围不大所以我们可以枚举除所有的状态进行判断是否是最优的即可,状态数为2^n-1; 我们可以用状态压缩来表示出各种状态:二进制中的第i为为1代表第i门课已经完成了. #include <cstd

makefile--目录搜索(八)

在一个较大的工程中,一般会将源代码和二进制文件(.o 文件和可执行文件)安排在不同的目录来进行区分管理.这种情况下,我们可以使用 make 提供的目录搜索依赖文件功能(在指定的若干个目录下自动搜索依赖文件).在Makefile中,使用依赖文件的目录搜索功能.当工程的目录结构发生变化 后,就可以做到不更改 Makefile的规则,只更改依赖文件的搜索目录.     在我们上一节出现的问题当中,我们将.c文件统一放在src目录下,没有和Makefile目录在同一目录下,因此没有办法寻找到.o文件的依

makefile--目标搜索(八)

原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 在一个较大的工程中,一般会将源代码和二进制文件(.o 文件和可执行文件)安排在不同的目录来进行区分管理.这种情况下,我们可以使用 make 提供的目录搜索依赖文件功能(在指定的若干个目录下自动搜索依赖文件).在Makefile中,使用依赖文件的目录搜索功能.当工程的目录结构发生变化 后,就可以做到不更改 Makefile的规则,只更改依赖文件的搜索目录.     在我们上一节出现的问题当中,我

高级的Google搜索技巧你知道有哪些

前言:多数人在使用Google搜索的过程是非常低效和无谓的,如果你只是输入几个关键词,然后按搜索按钮,你将是那些无法得到Google全部信息的用户,在这篇文章中,Google搜索专家迈克尔.米勒将向您展示如何更智能.更高效地进行Google的系列搜索. Google是一个非常精密成熟的搜索引擎,但大多数的用户都没有能完全地利用到它的能力.一般人就是在Google的搜索框中输入一两个关键字,然后点击"搜索"按钮,等着Google显示出它第一页的搜索结果.这是一个相当简单模式匹配算法的搜索

#研发解决方案介绍#基于ES的搜索+筛选+排序解决方案

郑昀 基于胡耀华和王超的设计文档 最后更新于2014/12/3 关键词:ElasticSearch.Lucene.solr.搜索.facet.高可用.可伸缩.mongodb.SearchHub.商品中心 本文档适用人员:研发和运维 提纲: 曾经的基于MongoDB的筛选+排序解决方案 MongoDB方案的缺陷 看中了搜索引擎的facet特性 看中了ES的简洁 看中了ES的天生分布式设计 窝窝的ES方案 ES的几次事故和教训 ES自身存在的问题 首先要感谢王超和胡耀华两位研发经理以严谨治学的研究精