zoukankan      html  css  js  c++  java
  • nyoj 236拦截导弹 简单动归(java)

    C/C++:

     1 #include<stdio.h>
     2 int main()
     3 {
     4 //    freopen("250.txt","r",stdin);
     5     int a[22],b[22];
     6     int t,n,i,j,max;
     7     scanf("%d",&t);
     8     while(t--)
     9     {
    10         max=0;
    11         for(i=0;i<22;i++)   //b[]置0;
    12             b[i]=1;
    13         scanf("%d",&n);     //输入n;
    14         for(i=0;i<n;i++)
    15             scanf("%d",&a[i]);
    16         for(i=n-2;i>=0;i--)
    17         {
    18             max=0;
    19             for(j=i+1;j<n;j++)  //找出i~n符合条件的最大数
    20             {
    21                 if(a[i]>a[j])   //注意   小细节:   题目给出下一发炮弹只能小于上一发
    22                 {
    23                     if(b[j]>max)
    24                         max=b[j];
    25                 }
    26             }
    27             b[i]+=max;         //最大数+1
    28         }
    29         max=0;
    30         for(i=0;i<n;i++)
    31         {
    32             if(b[i]>max)
    33                 max=b[i];
    34         }
    35         printf("%d
    ",max);
    36     }
    37     return 0;
    38 }

    java:

     1 import java.util.Scanner;
     2 public class Main {
     3     public static void main(String[] args) {
     4         Scanner sc=new Scanner(System.in);
     5         int t=sc.nextInt();
     6         int a[]=new int[22];
     7         int b[]=new int[22];
     8         while(t-->0){
     9             int n=sc.nextInt();
    10             for(int i=0;i<n;i++)
    11                 a[i]=sc.nextInt();
    12             for(int i=0;i<n;i++)
    13                 b[i]=1;
    14             for(int i=n-2;i>=0;i--){
    15                 int max=0;
    16                 for(int j=i+1;j<n;j++){
    17                     if(a[i]>a[j])
    18                         if(b[j]>max)
    19                             max=b[j];
    20                 }
    21                 b[i]+=max;
    22             }
    23             int max=0;
    24             for(int i=0;i<n;i++)
    25                 if(b[i]>max)
    26                     max=b[i];
    27             System.out.println(max);
    28         }
    29     }
    30 }
  • 相关阅读:
    Redis 安装
    Git的安装和使用
    HTML5 本地存储+layer弹层组件制作记事本
    PHP 微信公众号开发
    PHP 微信公众号开发
    Electron 安装与使用
    HTML5 桌面消息提醒
    Composer安装和使用
    玄 学
    区间内的真素数
  • 原文地址:https://www.cnblogs.com/asd1234/p/3348825.html
Copyright © 2011-2022 走看看