题目描述

长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1<=i<=j<=n。试设计一个算法,计算出从游艇出租站1 到游艇出租站n 所需的最少租金。

对于给定的游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1<=i<j<=n,编程计算从游艇出租站1 到游艇出租站n所需的最少租金。

保证计算过程中任何时刻数值都不超过10^6

输入输出格式

输入格式:

由文件提供输入数据。文件的第1 行中有1 个正整数n(n<=200),表示有n个游艇出租站。接下来的n-1 行是一个半矩阵r(i,j),1<=i<j<=n。

输出格式:

程序运行结束时,将计算出的从游艇出租站1 到游艇出租站n所需的最少租金输出到文件中。

输入输出样例

输入样例#1:

3
5 15
7
输出样例#1:

12

思路:

  最短路;

  有向图!!!!

来,上代码:

#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; struct EdgeType {
int to,dis,next;
};
struct EdgeType edge[**]; int if_z,n,head[],cnt=; char Cget; inline void in(int &now)
{
now=,if_z=,Cget=getchar();
while(Cget>''||Cget<'')
{
if(Cget=='-') if_z=-;
Cget=getchar();
}
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
now*=if_z;
} inline void edge_add(int u,int v,int w)
{
cnt++;
edge[cnt].to=v;
edge[cnt].dis=w;
edge[cnt].next=head[u];
head[u]=cnt;
} int spfa()
{
queue<int>que;
bool if_[];
int cost[];
memset(cost,0x7f,sizeof(cost));
que.push();if_[]=true,cost[]=;
while(!que.empty())
{
int pos=que.front();que.pop();
for(int i=head[pos];i;i=edge[i].next)
{
if(edge[i].dis+cost[pos]<cost[edge[i].to])
{
cost[edge[i].to]=edge[i].dis+cost[pos];
if(!if_[edge[i].to])
{
que.push(edge[i].to);
if_[edge[i].to]=true;
}
}
}
if_[pos]=false;
}
return cost[n];
} int main()
{
in(n);int pos;
for(int i=;i<n;i++)
{
for(int j=i+;j<=n;j++)
{
in(pos);
edge_add(i,j,pos);
}
}
cout<<spfa();
return ;
}

最新文章

  1. zw版【转发&#183;台湾nvp系列Delphi例程】HALCON color_fuses1
  2. 剑指offer系列21--二叉搜索树的后续遍历序列
  3. shell+Jenkins+jmeter集成
  4. HDU 1573 X问题 (中国剩余定理)
  5. Java Concurrency - Concurrent Collections
  6. Statement和PreparedStatement的特点 MySQL数据库分页 存取大对象 批处理 获取数据库主键值
  7. C语言之 短路原则
  8. 开源存储之ceph
  9. Github Blog 搭建手册
  10. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)
  11. ClistCtrl用法及总结(由怎样隐藏ListCtrl列表头的排序小三角形这个bug学习到的知识)
  12. Spring aop 注解参数说明
  13. ConstraintLayout知识记录
  14. iOS中 喷枪打字动画的实现
  15. [翻译] 介绍EF Core
  16. ueditor后台配置项返回格式出错,上传功能将不能正常使用
  17. React Native Android打包apk
  18. Wim镜像编辑
  19. 上线---苹果AppStore审核注意事项,Guideline 1.2 - Safety - User Generated Content,2.1等条例(苹果审核六次拒绝)
  20. ViewBag &amp; ViewData

热门文章

  1. Codeforces Round #273 (Div. 2)-B. Random Teams
  2. iPhone Scrollbars with iScroll
  3. windows下pycharm使用Anaconda安装包环境
  4. (21)zabbix创建触发器trigger
  5. CodeForces 699C - Vacations
  6. Python中的socket网络编程(TCP/IP,UDP)讲解
  7. python中datetime模块中datetime对象的使用方法
  8. H5系列之History(必知必会)
  9. 练习题,新建数据库anyun
  10. Visual Studio 2013 滚动条实现代码缩略图