转载声明:原文转自: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)的更多相关文章

  1. hdoj 1753 (Java)

    刚刚开始用Java,代码难免不够简洁. import java.math.BigDecimal; import java.util.Scanner; public class Main { publi ...

  2. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  3. HDOJ/HDU 2203 亲和串(简单的判断~Java的indexOf()方法秒)

    Problem Description 人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现 ...

  4. HDOJ(HDU) 2192 MagicBuilding(用Java的Map做了下)

    Problem Description As the increase of population, the living space for people is becoming smaller a ...

  5. 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 ...

  6. hdoj 1753 大明A+B 高精度/java

    大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. 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) ...

  8. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. HDOJ 2317. Nasty Hacks 模拟水题

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  10. HDOJ 1326. Box of Bricks 纯水题

    Box of Bricks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

随机推荐

  1. Boost format

    浅尝boost之format 概述      std::string是个很不错的东东,但实际使用时基本在每个程序里都会遇到不愉快的事情:格式化字符串.我甚至由于这个原因在代码里引入平台有关的MFC,A ...

  2. nls_sort和nlssort 排序功能介绍

    nls_sort和nlssort 排序功能介绍 博客分类: oracle   ALTER SESSION SET NLS_SORT=''; 排序影响整个会话 Oracle9i之前,中文是按照二进制编码 ...

  3. Spring核心框架 - AOP之动态代理机制

    动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码.动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类. ...

  4. Oracle目录结构及创建新数据库

    oracle目录结构 当需要创建新的数据仓库时我可以用 Database Configuration Assistant(数据库配置助手) admin 存放创建的不同数据库 cfgtoollogs c ...

  5. C# - ref & out

    引用参数和值参数 值参数,是在函数中此变量的任何修改都不影响函数调用中指定的参数,除非把它当作返回值返回,经典例子,交换两个数,但是返回值只有一个. 此时可以用引用参数,函数处理的变量和函数调用中使用 ...

  6. Mac OS系统 - 将视频转换成gif

    github中开源轻量级应用:droptogif

  7. iphone下overflow失效问题的解决方法

    overflow-y: auto; -webkit-overflow-scrolling:touch; /*加上这个让浏览器支持touch和自动滚动这样界面就可以滚动了*/

  8. 解决WP8应用里ListBox绑定数据变多导致越来越卡

    ListBox控件绑定数据,当滑动到底部的时候加载数据到列表上,这样就会产生一个问题,当ListBox上面绑定的数据有几千条的时候,界面将会卡顿,我们可以通过在ListBox上只绑定指定数量的数据,其 ...

  9. mysql之——存储过程 + 游标 + 事务

    下面是自己曾经编写过的mysql数据库存储过程,留作存档,以后用到的时候拿来参考. 其中,涉及到了存储过程.游标(双层循环).事务. [说明]:代码中的注释只针对当时业务而言,无须理会. 代码如下: ...

  10. JavaScript原生错误及检测

    JavaScript代码在运行时可能产生的错误共有六种类型: 语法错误 类型错误 范围错误 eval错误 引用错误 URI错误 使用try-catch语句检测错误类型 try{ }catch(erro ...