HDOJ-ACM1011(JAVA)
转载声明:原文转自:http://www.cnblogs.com/xiezie/p/5569721.html

搞懂题意之后,个人感觉,这道题题目的描述相当的费解~
做这道题目,个人感觉,涉及到树的遍历(深度搜索)、动态规划的知识点。
由于网上找不到什么好的问题解释,我把自己的翻译放上来了。
问题描述:
你是星河战队的领袖,被派来摧毁的虫子基地。基地建在地下。它实际上是一个巨大的洞穴,它包括许多与隧道相连的房间。每个房间都被一些虫子所占据,他们的大脑藏在一些房间里。科学家刚刚研制出了一种新武器,想要在一些大脑中进行实验。你的任务是摧毁整个基地,捕捉尽可能多的大脑。
杀死所有的害虫总是比捕捉他们的领头容易。为你提供了一张地图,上面标记了所有的房间内的害虫的数量以及存在一个领头的可能性。洞穴的结构就像一棵树——从入口开始仅有一条路径通向每个房间。为了尽快结束战斗,你不想等待士兵就推进到下一个房间,你必须留下一些士兵在每个房间抗击所有里面的害虫。他们曾经去过的房间不再进入。
一个士兵可以杀死20害虫。因为你没有足够的士兵,你只能选择进入一些房间,其他的工作让神经毒气做。同时,你应该最大限度地提高捕捉一个大脑的可能性。为了简化这个问题,你只要最大限度地提高对所取房间的所有可能性的总和。制定这样的计划是一项艰巨的工作。你需要电脑的帮助。
输入:
两个数(正整数):
N:房间数
M:士兵数
N*2个数(非负整数):
a: 害虫的个数
b: 存在一个领头的可能性(百分比)
(N-1)*2个数(整数):
c: 入口号
d: 通向哪个房间
如:上述的第一种输入(如图描述)

这道题给人最大的迷惑是二叉树,实际上的树形结构
以下是我写的测试输入:
6 10 50 10 40 10 40 20 65 30 70 30 100 50 1 2 1 3 2 4 2 5 3 6
-----------80//输出结果 1 1 20 7
-----------7 5 10 50 10 40 10 40 20 65 30 70 30 1 2 1 3 2 4 2 5
-----------50 7 10 50 10 40 10 40 20 65 30 70 30 100 50 20 60 1 2 1 3 2 4 2 5 3 6 4 7
-----------110 7 10 50 10 40 10 40 20 65 30 70 30 100 50 20 50 1 2 1 3 2 4 2 5 3 6 5 7
-----------100 8 10 50 10 40 10 40 20 65 30 70 30 100 50 20 50 80 80 1 2 1 3 2 4 2 5 3 6 5 7 3 8
-----------110 17 10 50 10 40 10 40 20 65 30 20 30 80 50 20 50 60 80 20 10 20 50 20 60 20 40 20 10 20 70 20 80 20 140 20 150 1 2 1 3 2 4 2 5 3 6 5 7 3 8 8 9 6 10 6 11 8 12 12 13 7 14 7 15 4 16 4 17
-----------200 4 2 1 1 1 2 1 3 1 4 1 2 1 3 1 4
-------5 5 3 1 1 1 2 1 3 1 4 1 5 1 2 1 3 1 4 3 5
-------9
提交了N次,一直WA,未AC状态。。。
HDOJ-ACM1011(JAVA)的更多相关文章
- hdoj 1753 (Java)
刚刚开始用Java,代码难免不够简洁. import java.math.BigDecimal; import java.util.Scanner; public class Main { publi ...
- Spark案例分析
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
- HDOJ/HDU 2203 亲和串(简单的判断~Java的indexOf()方法秒)
Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现 ...
- HDOJ(HDU) 2192 MagicBuilding(用Java的Map做了下)
Problem Description As the increase of population, the living space for people is becoming smaller a ...
- HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
Problem Description Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me wha ...
- hdoj 1753 大明A+B 高精度/java
大明A+B Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- hdoj 1002 A + B Problem II 高精度 java
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDOJ 2317. Nasty Hacks 模拟水题
Nasty Hacks Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- HDOJ 1326. Box of Bricks 纯水题
Box of Bricks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
随机推荐
- lua中的时间函数
-- 获取当前的格林尼治时间print(os.time())-- 获取当前时间的字符串表示,形如:11/28/08 10:28:37print(os.date())-- 获取当前日期的字符串表示,形如 ...
- MVC5 学习笔记2
去除VS Browser Link废代码 在webconfig中添加 <configuration> <appSettings> <add key="vs:En ...
- linux 弹出光驱失败
[root@NB media]# eject #弹出光驱的命令 umount: /media/____: device is busy. (In some cases useful info abou ...
- Shell编程练习
1.使用case语句 2.使用while....do....done语句 3.使用
- int([x[, base]]) : 将一个字符转换为int类型,base表示进制
int([x[, base]]) : 将一个字符转换为int类型,base表示进制 >>> int(-12) -12 >>> int(-12.00) -12 > ...
- join的一对多,去除重复,排序优先的group方法
想将问题列表按照最新回答来排列.但问题和回答是分拆在两张表来存放的.所以,要完成上述需求,需从主表“问题”取显示数据,但是得按照次表(回答)的更新日期来排序. 用join来做,始终无法去除重复,折腾了 ...
- Android-java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
章出自:luchg技术交流 http://www.luchg.com 版权所有.本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源,谢谢. Android-java.lang.Runti ...
- 服务器监控之 ping 监控
在运维人员的日常工作中,对物理服务器的监控十分重要.物理机的 CPU.内存.磁盘使用率,网卡流量,磁盘 IO 等都需要进行监控.通过 ICMP 协议的 ping 监控,可以判断物理服务器运行是否正常或 ...
- HDU 1003 Max Sum(DP)
点我看题目 题意 : 就是让你从一个数列中找连续的数字要求他们的和最大. 思路 : 往前加然后再判断一下就行. #include <iostream> #include<stdio. ...
- nginx server_参数配置总结(转)
转:http://onlyzq.blog.51cto.com/1228/535279 Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后的匹 ...