动态规划值游艇问题
来源:互联网 发布:墙上网络插座怎么接线 编辑:程序博客网 时间:2024/06/11 22:01
计算从游艇出租站i到游艇出租站j所需的最少租金
#include<stdio.h>
int r[10][10]; //存放两个出租战之间的价格
int fm(int n,int m)
{int k,temp=0;
int min=r[n][m];
if(m==n+1){ temp=r[n][m];return temp;} //如果相邻,直接返回两点间的价格
for(k=n+1;k<m;k++) //不相邻,则递归计算两点之间所有可能的价格
{temp=fm(n,k)+fm(k,m);
if(temp<min)
min=temp; //将最小值存放在min中
}
return min;
}
int cal(int m,int n ) //cal函数功能和fm函数相同 它会修改r[m][n]的值,并将两点的最小值存入r[m][n]
{
int i , j , k ;
for( k = 2 ; k < n ; k ++)
{for(i = m ; i <= n-k ; i ++)
{ j = i + k ;
for(int p = i+1 ; p <= j ; p ++ )
{int temp = r[i][p] + r[p][j] ;
if(r[i][j] > temp )
r[i][j] = temp ;
}
}
}
return r[m][n] ;
}
void main()
{int n,m,i,j;
printf("input n to m:");
while(1)
{scanf("%d,%d",&n,&m);
if(n>=m)
printf("error/ninput n to m:");
else
break;}
for(i=n;i<m;i++)
for(j=i+1;j<=m;j++)
{printf("%d到%d price",i,j);
scanf("%d",&r[i][j]);
}
printf("%d/n",fm(n,m));
int b=cal(n,m);
printf("%d/n",b);
}
- 动态规划值游艇问题
- 【动态规划】租用游艇问题
- 动态规划:游艇租用问题
- 游艇租用问题(动态规划)
- 动态规划之游艇租用问题
- 算法1.动态规划 游艇租赁问题
- 学习动态规划之游艇租用问题
- 动态规划——租用游艇问题
- 算法_动态规划_租用游艇问题
- |洛谷|动态规划|P1359 租用游艇
- 游艇出租站最少费用,动态规划算法!
- 【dp】租用游艇问题
- 王晓东 租用游艇问题
- 租用游艇问题
- 租用游艇问题
- 租用游艇问题
- 租用游艇问题
- 游艇租用问题
- HashTable索引法之折叠法--摘《多核计算与程序设计》)
- Graphics2D简单示例
- Linux基本命令-date,cal,bc,man,无线路由器连接上网
- oracle移植到mysql注意事项
- 图像透明算法
- 动态规划值游艇问题
- 大学要有创新精神--钱学森的最后一次系统谈话
- 【转】刘未鹏 | Mind Hacks [BetterExplained]如何有效地记忆与学习
- C数据结构 栈
- Linux关于进程的查看和管理
- OPENCV中的PCA使用(ZZ)
- 2009年12月06日0:53
- 利用Java得到RSS源的内容
- 常用字符串函数汇总