热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

热浪解题报告(SPFA)

德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。FarmerJohn此时以先天下之忧而忧,后天下之乐而乐的精神,

德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦。FJ已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线。这些路线包括起始点和终点先一共经过T (1 <= T <= 2,500)个城镇,方便地标号為1到T。除了起点和终点外地每个城镇由两条双向道路连向至少两个其它地城镇。每条道路有一个通过费用(包括油费,过路费等等)。

给定一个地图,包含C (1 <= C <= 6,200)条直接连接2个城镇的道路。每条道路由道路的起点Rs,终点Re (1 <= Rs <= T; 1 <= Re <= T),和花费(1 <= Ci <= 1,000)组成。求从起始的城镇Ts (1 <= Ts <= T)到终点的城镇Te(1 <= Te <= T)最小的总费用。

问题显然是一个最短路问题代码如下:

#include
using namespace std;

const int MAXN=25000;
const int INF=1<<30;
struct edge{
int to,next,w;
}e[MAXN];
int d[MAXN];
int head[MAXN],cnt=0;
inline void add(int u,int v,int w){e[++cnt]=(edge){v,head[u],w},head[u]=cnt;}
int t,c,g,v;
int main()
{
queueq;
bool sw[MAXN];
memset(sw,0,sizeof(sw));
memset(head,-1,sizeof(head));
cin>>t>>c>>g>>v;
for(int i=1;i<=t;i++)d[i]=INF;
int x1,x2,x3;
for(int i=1;i<=c;i++)
{
cin>>x1>>x2>>x3;
add(x1,x2,x3);
add(x2,x1,x3);
}
d[g]=0;q.push(g);sw[g]=1;
while(!q.empty()){
int u=q.front();q.pop();sw[u]=0;
for(int i=head[u];i;i=e[i].next)
{ int v=e[i].to,w=e[i].w;
if(d[v]>d[u]+w)
{
d[v]=d[u]+w;
if(!sw[v])
{
q.push(v);
}
}
}
}
printf("%d",d[v]);
return 0;
}



推荐阅读
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • PL2303HXD电路图(USB转UART)介绍及应用
    本文介绍了PL2303HXD电路图(USB转UART)的特性和应用,该电路图可以实现RS232和USB信号的转换,方便嵌入到手持设备中。PL2303HXD作为USB/RS232双向转换器,可以将USB数据转换为RS232信息流格式发送给外设,并将RS232外设的数据转换为USB数据格式传送回主机。通过利用USB块传输模式和自动流量控制,PL2303HXD能够实现更高的数据传输吞吐量比传统的UART端口。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  • 关于两个RTC时钟闹钟,求助?
    在系统启动2秒后,实时时钟(RTC)每3秒钟产生一个闹钟事件(Alarmevent),使系统进入停机模式以降低功耗设置实时时钟。 ... [详细]
  • mysql如何插入一列数据
    mysql插入一列数据的方法:首先打开终端;然后给表添加一列,代码为【altertableuseraddgendervarchar(2);】,其中列名为gender,类型为var ... [详细]
  • Harmony 与 Game Space 达成合作,在 Shard1 上扩展 Web3 游戏
    旧金山20 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • 【具体报错信息】ErrorparsingD:\android-sdks\system-images\android-22\android-wear\armeabi-v7a\devi ... [详细]
  • x86 linux的进程调度,x86体系结构下Linux2.6.26的进程调度和切换
    进程调度相关数据结构task_structtask_struct是进程在内核中对应的数据结构,它标识了进程的状态等各项信息。其中有一项thread_struct结构的 ... [详细]
  • Kali Linux 简介
    KaliLinux是世界渗透测试行业公认的优秀的网络安全审计工具集合,它可以通过对设备的探测来审计其安全性,而且功能完备,几乎包含了目前所 ... [详细]
  • AstridDAO 专访:波卡稳定币黑马 BAI
    加入Pol ... [详细]
  • 在MySQL中,如果要报告公式然后在另一个公式中使用该结果,则可以执行类似于以下操作的操作:SELECT@var1:column1+column2ASvar1,POWER(@var ... [详细]
  • C#设计模式之八装饰模式(Decorator Pattern)【结构型】
    一、引言今天我们要讲【结构型】设计模式的第三个模式,该模式是【装饰模式】,英文名称:DecoratorPattern。我第一次看到这个名称想到的是另外一个词语“装修”,我就说说我对“装修”的理 ... [详细]
  • 前言整个信息技术的很多领域,都是相互关联的,IT也是一样,他们有着他们的规律,在其中摩尔定律,安迪——比尔定律,反摩尔定律组成了计算机行业的发展规律摩尔定律科技行业流传着一个 ... [详细]
  • WebDAV之葫芦儿·派盘+天悦日记
    天悦日记支持webdav方式连接葫芦儿派盘。是一款清爽简约的日记记录工具,通过天悦日记app随时随地快速写日记,更有智能数据统计分析报表,多端同步多种备份,本地备份和基于Web ... [详细]
author-avatar
mobiledu2502883857
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有