• nyoj 79 拦截导弹


    拦截导弹

    时间限制:3000 ms  |  内存限制:65535 KB

    难度:3

    描述

    某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。

    输入

    第一行输入测试数据组数N(1<=N<=10)
    接下来一行输入这组测试数据共有多少个导弹m(1<=m<=20)
    接下来行输入导弹依次飞来的高度,所有高度值均是大于0的正整数。

    输出

    输出最多能拦截的导弹数目

    样例输入

    2

    8

    389 207 155 300 299 170 158 65

    3

    88 34 65

    样例输出

    6

    2

    #include<stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    int s[25];
    int dp[25];
    int main()
    {
    	int T;
    	scanf("%d",&T);
    	while(T--)
    	{
    		int n;
    		memset(s,0,sizeof(s));
    		memset(dp,0,sizeof(dp));
    		scanf("%d",&n);
    		for(int i=n;i>=1;i--)
    			scanf("%d",&s[i]);
    		int i,j,ans=0;
    		dp[0]=1;
    		for(i=1;i<=n;i++)
    		{
    			int Max=0;
    			for(j=1;j<=i;j++)
    			{
    				if(s[i]>s[j]&&Max<dp[j])
    					Max=dp[j];
    			}
    			dp[i]=Max+1;
    			if(ans<dp[i])
    				ans=dp[i]; 
    		}
    		printf("%d
    ",ans);
    	}
    	return 0;
    }         
    

      

  • 相关阅读:
    “访问”美术馆
    加分二叉树
    有线电视网
    二叉苹果树
    鬼子进村
    遍历问题
    最大子树和
    FBI树
    求前序遍历
    JS如何实现点击页面内任意的链接均加参数跳转?
  • 原文地址:https://www.cnblogs.com/zhangliu/p/7053378.html
Copyright © 2020-2023  润新知