zoukankan      html  css  js  c++  java
  • 拦截导弹

    http://acm.nyist.net/JudgeOnline/problem.php?pid=79 

    不明白哪儿有问题,有待验证

     1 #include <stdio.h>
     2 
     3 int floor = 0;
     4 void recurring(int missile[],int begin,int size,int& cur){
     5     ++cur;
     6     if(begin >= size - 1)
     7         return ;
     8     int i;
     9     for(i = begin; i < size; i++){
    10         if(missile[i] < missile[begin]){
    11             recurring(missile,i,size,cur);
    12             floor = (floor > cur) ? floor : cur;
    13             --cur;
    14         }
    15     }
    16 }
    17 
    18 int main(){
    19     int N;
    20     int m;
    21     int missile[50];
    22     int i,cur;
    23     scanf("%d",&N);
    24     while(N--){
    25         scanf("%d",&m);
    26         cur = 0;
    27         for(i = 0; i < m; i++)
    28             scanf("%d",&missile[i]);
    29         recurring(missile,0,m,cur);
    30         printf("%d
    ",floor);
    31         floor = 0;
    32     }
    33     return 0;
    34 }

     不明觉厉,为啥还不对

     1 #include <stdio.h>
     2 #include <iostream>
     3 #include <algorithm>
     4 using namespace std;
     5 #define M 50
     6 int res[M];
     7 void dp(int missile[],int cur,int Size){
     8     if(cur < 0) return ;
     9     for(int i = Size - 1; i > cur; i--){
    10         if(missile[cur] > missile[i]){
    11             res[cur] = (res[cur] > res[i]) ? res[cur] : res[i] + 1;
    12         }
    13     }
    14     dp(missile,cur - 1,Size);
    15 }
    16 
    17 int main(){
    18     int N;
    19     int m;
    20     int missile[50];
    21     int i;
    22     scanf("%d",&N);
    23     while(N--){
    24         fill(res,res+50,1);
    25         scanf("%d",&m);
    26         for(i = 0; i < m; i++)
    27             scanf("%d",&missile[i]);
    28         dp(missile,m - 2,m);
    29         printf("%d
    ",res[0]);
    30     }
    31     return 0;
    32 }

     又失败了|-_-|

     1 #include <stdio.h>
     2 #include <iostream>
     3 #include <algorithm>
     4 using namespace std;
     5 int main(){
     6     int N;
     7     int m;
     8     int missile[50],res[50];
     9     int i;
    10     scanf("%d",&N);
    11     while(N--){
    12         fill(res,res+50,1);
    13         scanf("%d",&m);
    14         for(i = 0; i < m; i++)
    15             scanf("%d",&missile[i]);
    16         for(int j = m-2; j >= 0; j--){
    17             for(int i = m - 1; i > j; i--){
    18                 if(missile[j] > missile[i]){
    19                     res[j] = (res[j] > res[i]) ? res[j] : res[i] + 1;
    20                 }
    21             }
    22         }
    23         printf("%d
    ",res[0]);
    24     }
    25     return 0;
    26 }
  • 相关阅读:
    Java垃圾收集学习笔记
    好IT男不能“淫”-谈IT人员目前普遍存在的“A情绪”
    亲密接触Redis-第三天(Redis的Load Balance)
    数据库面试常问的一些基本概念
    Mina的ssl加密
    Mina入门教程(二)----Spring4 集成Mina
    Mina Session
    Mina入门实例(一)
    java keytool生成ssl加密密钥
    Python学习(一)——数据类型
  • 原文地址:https://www.cnblogs.com/yfs123456/p/7506296.html
Copyright © 2011-2022 走看看