动态规划法解决游艇租用问题

动态规划法解决游艇租用问题

游艇租用问题描述:长江旅游俱乐部在长江上设置了N个游艇出租站1,2,…,N,游客在这些站中租用游艇,并在下游的任何一个游艇出租站归还,游艇出租站i到游艇出租站j之间的租金为fee(i,j),0≤i

这里感觉动态规划法是属于较复杂的算法,它的思想很容易理解,但是针对不同问题如何设计相应的函数去求解仍需要仔细琢磨。这里借鉴了多源点最短路径问题中Floyd算法,对该算法进行适当改进,记录依次经历的站点是用到有点巧妙的方法。另外,灵活地定义全局变量有助于帮助我们解决一些棘手的问题。


动态规划法解决游艇租用问题_第1张图片


#include
#include 
#include 
#include

#define N 10

using namespace std;
static int rent[N][N];
static int path[N][N];
static int minRent[N][N];

void min(int n)
{
	int i,j,k;
	//先初始化一个路径矩阵
	for (i = 0; i < n; i++)
		for (j = 0; j < n; j++)
			path[i][j] = -1;

	for (i=0;i>n;

	for(int i = 0; i < n-1; i++)
	{
		cout<<"请分别输入从第"<>rent[i][j];
	}
	cout<>a>>b;
		if(a==0||b==0)
		{
			break;
		}
		else
		{
			cout<<"从第"<";
			for(int i=a;i";
			}

			cout<

你可能感兴趣的:(算法设计,算法)