题解 | #Redraiment的走法#

Redraiment的走法

http://www.nowcoder.com/practice/24e6243b9f0446b081b1d6d32f2aa3aa

#include <stdio.h>
int dp(int *nums,int n){
    int i,j,num[n],top=0;
    memset(num,0,n*4);
    num[0]=1;
    for(i=1;i<n;i++){
        num[i]=1;
        for(j=0;j<i;j++){
            if((nums[i]>nums[j])&&(num[i]<=num[j])) num[i]=num[j]+1;
        }
   
    }
    for(i=0;i<n;i++){
        
        if(top<num[i]) top=num[i];
    }
    return top;
}

int main(){
    int i, n,nums[1000],top,tem;
    while(scanf("%d",&n)!=-1){
        top=0;
        for(i=0;i<n;i++) scanf("%d",nums+i);
        printf("%d\n",dp(nums, n));
    }
    return 0;
}
全部评论

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务