注册 登录
编程论坛 C++教室

什么意思?

根根本根 发布于 2018-09-23 20:18, 1348 次点击
#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 回复
#2
复旦2018-10-29 22:43
先输入学生人数和每个学生的个子(height)
然后输出一个数字ans
这个ans是一些学生的集合里的学生人数。
那这个集合是什么样子的呢
首先集合的第一个学生是输入的n个学生中第一个学生   (实际上里面的数据是学生的个子height)
集合的最后一个学生也是输入的n个学生中最后一个学生
然后集合里从第一个学生到最后一个学生,学生的个子逐渐升高
当然选这样的集合的方式很多。
ans就是全部这些集合中学生数包含最多的集合的学生数!
1