SDUT ACM 动态规划——最长上升子序列

版权声明:版权问题请加微信:17165380098 备注 版权问题 https://blog.csdn.net/qq_30277453/article/details/81003390

题目部分:

代码部分:(注释等暑假有空写,有点迷)

#include<stdio.h>

#include<string.h>
int main()
{
    int m[1008], save[1008];
    int n,i,c;
    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &save[i]);
        m[i] = 1;
    }
    for (i = 1; i < n; i++)
    {
        int max = 0;
        for (c = 0; c < i; c++)
        {
            if (save[i]>save[c] && m[c]>max)
                max = m[c];
        }
        m[i] = max + 1;
    }
    int max = 0;
    for (i = 0; i < n; i++)
        if (m[i]>max)
            max = m[i];
    printf("%d\n", max);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_30277453/article/details/81003390