
【SSL_1565】将功补过
发布日期:2021-05-06 16:00:24
浏览次数:27
分类:精选文章
本文共 1851 字,大约阅读时间需要 6 分钟。
将功补过
Description
作为间谍专家的Elvis Han受窃取X星球军事中心的秘密情报,他已经成功进入军事中心。但是很不幸的是,在他还没有找到任务需要情报的时候就被发现,这时他清楚他不可能完成任务了,不过还有机会将功补过,也就是得到一些不如任务情报有价值的其他情报,如果得到的情报的总价值大于等于任务情报价值,他也不会受到惩罚。很幸运的是他已经得到的军事中心的地图,情报都是隐藏在各个道路上的,但是他只有时间遍历一定数量的路(时间宝贵呀!还要逃跑。。)现在你做为他的助手,给你地图和每个道路情报价值,希望你分析出,看他能不能将功补过。
军事中心是一个严格的二叉树,也就是说,如果有个点可以分道,一定是分出,也只分出2条道路,现在Elvis Han正处在第一个分道处,也就是说树的根结点处。每条道路上都有一个分数,就是这个道路上的情报价值。但是他只有时间走M条路,他的最终情报价值总和就是他所经过的路的情报价值总和(假设他到过的路一定可以把所有情报得到)希望你给出一个方案使得他可以尽量多地获取情报以便将功补过。Input
共有N行:
第一行:3个数据:N,M,Q(N表示有多少个路口,包括分道和不分道的路口;M表示他可以有时间走的道路总数;Q表示他的任务情报的价值) 第2~N行:每行3个数据,Xi,Yi,Wi (X,Y表示第I条道路连接的2个路口,W表示这条道路上的情报价值分, 注意,所有数据均在Lonint范围内)Output
共包含2行:
第一行:输出TRUE/FALSE(注意大小写),表示他是否可以收集够任务情报价值 第二行:输出一个数据: 如果他可以完成任务,就输出他收集的情报总价值超过任务情报价值的部分。(正数) 如果不能完成任务,就输出一个数,表示他不能还差多少分才够任务情报价值。(负数)Sample Input
【样例输入1】
3 1 101 2 101 3 8
【样例输入2】
9 3 496 2 157 2 108 7 67 9 151 3 202 1 104 3 8 3 5 7
Sample Output
【样例输出1】
TRUE0
样例说明:(该部分不必输出)
3 2(8)\ /(10) 1 (选择1条路当然选1-2)
【样例输出2】
FALSE-4
样例说明:
8 9(6) \ / (15) 6 7 4 5(15)\ / (10)\ (8) /(7)2 3 (10)\ /(20) 1(由于他最大可以取得的是[1->3]+[1->2]+[2->6]3条路径的价值,才45,所以不可能完成任务)
Hint
<数据规模>
对于30%的数据 保证有N<=10 对于50%的数据 保证有N<=40 对于全部的数据 保证有 N<=100解题思路
这道题和几乎没有什么区别,改一点东西就好。
#include#include using namespace std;int n,q,a[110][110],t;int tree[110][3],num[110],f[110][110];void build(int now){ int lr=0; for(int i=0;i<=n;i++) if(a[now][i]>=0) { lr++; tree[now][lr]=i; num[i]=a[now][i]; a[now][i]=a[i][now]=-1; build(i); if(lr==2) return; }}void dfs(int now,int k){ if(k==0) f[now][k]=0; else if(tree[now][1]==0&&tree[now][2]==0) f[now][k]=num[now]; else { f[now][k]=0; for(int i=0;i >n>>q>>t; for(int i=0;i<=n;i++) for(int j=0;j<=n;j++) a[i][j]=a[j][i]=-1; for(int i=1;i =t) { cout<<"TRUE"<
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月05日 07时04分35秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Ef+T4模板实现代码快速生成器
2021-05-09
JQuery选择器
2021-05-09
多线程之volatile关键字
2021-05-09
2.2.2原码补码移码的作用
2021-05-09
Java面试题:Servlet是线程安全的吗?
2021-05-09
Java集合总结系列2:Collection接口
2021-05-09
Linux学习总结(九)—— CentOS常用软件安装:中文输入法、Chrome
2021-05-09
比技术还重要的事
2021-05-09
linux线程调度策略
2021-05-09
软中断和实时性
2021-05-09
Linux探测工具BCC(可观测性)
2021-05-09
SNMP介绍及使用,超有用,建议收藏!
2021-05-09
HDU5589:Tree(莫队+01字典树)
2021-05-09
不停机替换线上代码? 你没听错,Arthas它能做到
2021-05-09
Python开发之序列化与反序列化:pickle、json模块使用详解
2021-05-09
采坑 - 字符串的 "" 与 pd.isnull()
2021-05-09
无序列表 - 链表
2021-05-09
Matplotlib绘制漫威英雄战力图,带你飞起来!
2021-05-09
机器学习是什么
2021-05-09
《小王子》里一些后知后觉的道理
2021-05-09