#10734. 动态规划第一题(NOIP2013)

动态规划第一题(NOIP2013)

第一题(NOIP2013)

#include<iostream>
using namespace std;
int main(){
    const int SIZE=100;
    int height[SIZE],num[SIZE],n, ans;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>height[i];
        num[i]=1;
        for (int j=0;j<i;j++){
            if(height[j]<height[i] && num[j]>=num[i])
                num[i]=num[j]+1;
        }
    }
    ans=0;
    for(int i=0;i<n;i++){
        if(num[i]>ans) ans=num[i];
    }
    cout<<ans<<endl;
}
  1. 【判断题】将第4行的程序移动到第2、3行中间,程序能够正常运行。
    {{ select(1) }}
  • 正确
  • 错误
  1. 【判断题】第6行输入 (n=5) ,则输出ans的值一定小于5。
    {{ select(2) }}
  • 正确
  • 错误
  1. 【判断题】把01行的iostream改为cstdio时不会编译错误。
    {{ select(3) }}
  • 正确
  • 错误
  1. 【判断题】如果输出是1,则height数组中的数一定是递减的。
    {{ select(4) }}
  • 正确
  • 错误
  1. 【选择题】当 (n=6) 时,输入height数组为2 5 3 11 12 4,输出为( )。
    {{ select(5) }}
  • 4
  • 2
  • 14
  • 6
  1. 【选择题】如果将第11行的height[j]<height[i]改成height[j]>height[i],则第(5)题的输出结果为( )。
    {{ select(6) }}
  • 4
  • 2
  • 14
  • 6