poj1163

#include<iostream>
using namespace std;
int main()
{
    int m = 1, n = 1;
    int tan[101][101] = {0};
    int flag=0;
    cin >> m;
    for (int i = 1; i <= m; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            cin >> tan[i][j];
            if(i > 1 && i <= m)
            {
                if (j == 1)
                    tan[i][j]+=tan[i-1][j];
                if (j == n)
                    tan[i][j]+=tan[i-1][j-1];
                if (j>1&&j<n)
                {
                    if (tan[i-1][j]>tan[i-1][j-1])
                        tan[i][j]+=tan[i-1][j];
                    else
                        tan[i][j]+=tan[i-1][j-1];
                }
              }
        }
        n++;
    }
    for (int k = 1; k < n; k++)
    {
        if (tan[m][k]>flag)
            flag = tan[m][k];

    }

    cout << flag;

}

采用循环,其他方法还有递归,动规等,总结规律才是王道

猜你喜欢

转载自blog.csdn.net/luoshiyong123/article/details/80644431