zoukankan      html  css  js  c++  java
  • 消灭虫子

    试题描述
     每年春天,都会有很多的虫子充斥在小树上,为了爱护我们的小树,我们每年都会组织一个抓虫子活动,作为年年的抓虫积极分子,我们总会努力抓到更多的虫子。但是,由于虫子也是很聪明的,他们意识到危险也会逃跑,而且逃跑是有规律的。当我们抓一棵树上的虫子时,这棵树两边树上的虫子都会跑得无影无踪(是跑得无影无踪,不是逃到其他树上面去)。而且,我们的树是在一条直线上的,除第一和最后一棵树只有一棵树相邻外,其他都有两棵树相邻。 为了能够抓到最大数量的虫子,请你帮我们的灭虫小组制定一个抓虫计划,可以抓到最大数量的虫子。
     
    输入
    第一行包括一个正整数n,代表小树的数量;( 0 < n < 10000),第二行,有n个整数,分别依次代表这n棵树上面的虫子数目。 且每棵树上的虫子数不会超过10000。
    输出
    输出最大能够抓到虫子的总数
    输入示例
    5
    100  200  100  200  100
    输出示例
    400
     

    本题最简单的方法就是递推。代码其实并不长。

     1 #include <iostream>
     2 
     3 using namespace std;
     4 int a[100001],ans[100001]={0};
     5 int main()
     6 {
     7     int n,i,temp;
     8     cin>>n;
     9     for(i=1;i<=n;i++) cin>>a[i];
    10     for(i=1;i<=n;i++)
    11     {
    12         temp=ans[i-2];
    13         ans[i]=max(ans[i-1],a[i]+temp);
    14     }
    15     cout<<ans[n];
    16     return 0;
    17 }
    消灭虫子
  • 相关阅读:
    Shell脚本——DHCP自动部署
    Shell脚本——DNS自动部署
    (四)跟我一起玩Linux网络服务:DHCP服务配置之中继代理
    Java-线索二叉树的实现
    Java-堆排序
    Java-二叉树-插入、删除、遍历
    Java-进制转换
    Java--消除重复数字后的最大值
    Java-动态规划-最多苹果数量的方法
    Java-Pi的几种实现
  • 原文地址:https://www.cnblogs.com/YXY-1211/p/5010711.html
Copyright © 2011-2022 走看看