Swust oj 574: Renting Boats

#include <iostream>
#include <algorithm>

//原始数据数组
int data[200][200];

int main()
{
    //n个站
    int n;
   
    //数据输入
    std::cin >> n;
    for (int i(0); i < n; ++i)
    {
        for (int j(i + 1); j < n; ++j)
        {
            std::cin >> data[i][j];
        }
    }

    //第i站到第i站的价钱为0
    for (int i(0); i < n; ++i)
    {
        data[i][i] = 0;
    }

    //求解
    for (int i(0); i < n; ++i)
    {
        for (int j(0); j < n - i; ++j)
        {
            int k = j + i;
            for (int l(j); l < k; ++l)
            {
                int temp = data[j][l] + data[l][k];

                temp < data[j][k] ? data[j][k] = temp : data[j][k];
            }
        }
    }

    std::cout << data[0][n - 1] << std::endl;
    return 0;
}