C语言算法设计之最佳游览路线问题

某旅游景区的街道成网格状。其中东西向的街道都是旅游街,南北向的街道都是林荫道。由于游客众多,旅游街规定为单行道,游客在旅游街上只能从西向东走,在林荫道上则既可从南向北,又可从北向南走。阿隆想到这个旅游街区游玩。他的好友阿福给了他一些建议,用分值表示所有旅游街相邻两个路口之间的街道值得游览程度,分值是从-100到100的整数,所有林荫道不打分。所有分值不能全是负分。阿隆可以从任何一个路口开始游览,在任何一个路口结束游览。请你写一个程序,帮助阿龙找一条最佳的旅游路线,使得这条路线的所有分值总和最大。

 

/**
 * Created by:SaToPenDragon
 * Date:2019-11-20 15:53
 * ClassName:findSubCoin
 * Description:贪婪算法求最佳游览路径
 */

#include<cstdio>
 /** 
  * @param crossing: 选择开始的路口
  * @param max:分值最大的那个路线
  * @param size:数组max的长度
  * @Description: 打印路线
  */ 
void showWay(int crossing, int *max, int size) {  // 设从左到右路口索引从0开始
    printf("The beat way is :");
    for (int i = crossing; i < size; i++) {
        printf("%d >> ", max[i]);
    }
    printf("\b\b\b  ");  // 删除末尾的>>space
}

int
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值