3-6 游艇问题

#include 
#include 
using namespace std;


int n;
int Rent[100][100];
int F[100][100];
void Input()
{
    cin>>n;
    for(int i=1; i<=n; ++i)
    {
        for(int j=i+1; j<=n; ++j)
        {
            cin>>Rent[i][j];
        }
    }
}

int solve()
{
    for(int i=2; i<=n; ++i)
    {
        int minFree = Rent[1][i];
        for(int k=1; k<=i; ++k)
        {
            if(Rent[k][i]+Rent[i][k] < minFree)
                minFree = Rent[k][i]+Rent[1][k];
        }
        F[1][i] = minFree;
    }
    return F[1][n];
}
int main()
{
    freopen("in.txt","r",stdin);
    Input();
    cout << solve();
    fclose(stdin);
    return 0;
}

 

你可能感兴趣的:(算法设计与分析)