洛谷 P1339 [USACO09OCT]热浪Heat Wave

题目描述

The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for good eating but are not so adept at creating creamy delicious dairy products. Farmer John is leading the charge to deliver plenty of ice cold nutritious milk to Texas so the Texans will not suffer the heat too much.

FJ has studied the routes that can be used to move milk from Wisconsin to Texas. These routes have a total of T (1 <= T <= 2,500) towns conveniently numbered 1..T along the way (including the starting and ending towns). Each town (except the source and destination towns) is connected to at least two other towns by bidirectional roads that have some cost of traversal (owing to gasoline consumption, tolls, etc.). Consider this map of seven towns; town 5 is the

source of the milk and town 4 is its destination (bracketed integers represent costs to traverse the route):


                              [1]----1---[3]-
                             /                                     [3]---6---[4]---3--[3]--4
                     /               /       /|
                    5         --[3]--  --[2]- |
                     \       /        /       |
                      [5]---7---[2]--2---[3]---
                            |       /
                           [1]------

Traversing 5-6-3-4 requires spending 3 (5->6) + 4 (6->3) + 3 (3->4) = 10 total expenses.

Given a map of all the C (1 <= C <= 6,200) connections (described as two endpoints R1i and R2i (1 <= R1i <= T; 1 <= R2i <= T) and costs (1 <= Ci <= 1,000), find the smallest total expense to traverse from the starting town Ts (1 <= Ts <= T) to the destination town Te (1 <= Te <= T).

德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品。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)最小的总费用。

输入输出格式

输入格式:

第一行: 4个由空格隔开的整数: T, C, Ts, Te

第2到第C+1行: 第i+1行描述第i条道路。有3个由空格隔开的整数: Rs, Re和Ci

输出格式:

一个单独的整数表示从Ts到Te的最小总费用。数据保证至少存在一条道路。

输入输出样例

输入样例#1:

7 11 5 4
2 4 2
1 4 3
7 2 2
3 4 3
5 7 5
7 3 3
6 1 1
6 3 4
2 4 3
5 6 3
7 2 1

输出样例#1:

7

说明

【样例说明】

5->6->1->4 (3 + 1 + 3)



 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<queue>
 5
 6 using namespace std;
 7 const int N = 5010;
 8
 9 inline void read(int &x)
10 {
11     char c=getchar();
12     x=0;
13     while(c<‘0‘||c>‘9‘)c=getchar();
14     while(c>=‘0‘&&c<=‘9‘)x=x*10+c-‘0‘,c=getchar();
15  }
16
17 struct Edge
18 {
19     int to,w,nxt;
20 } e[20010];
21
22
23 queue<int>q;
24 int head[N];
25 int dis[N];
26 int n,m,cnt,x,y;
27 bool v[N];
28
29 void add(int a,int b,int w)
30 {
31     ++cnt;
32     e[cnt].w = w;
33     e[cnt].to = b;
34     e[cnt].nxt = head[a];
35     head[a] = cnt;
36 }
37 void spfa()
38 {
39     memset(dis,0x3f,sizeof(dis));
40     q.push(x);
41     dis[x] = 0;
42     v[x] = true;
43     while(!q.empty())
44     {
45         int d = q.front();
46         q.pop();
47         for(int i=head[d]; i; i=e[i].nxt)
48         {
49             int to = e[i].to;
50             int w = e[i].w;
51             if(dis[to]>dis[d]+w)
52             {
53                 dis[to] = dis[d]+w;
54                 if(!v[to])
55                 {
56                     v[to] = true;
57                     q.push(to);
58                 }
59             }
60         }
61         v[d] = false;
62     }
63 }
64 int main()
65 {
66     scanf("%d%d%d%d",&n,&m,&x,&y);
67     for(int i=1; i<=m; ++i) {
68         int a,b,c;
69         scanf("%d%d%d",&a,&b,&c);
70         add(a,b,c);
71         add(b,a,c);
72     }
73     spfa();
74     printf("%d",dis[y]);
75     return 0;
76 }

				
时间: 2024-10-07 05:04:01

洛谷 P1339 [USACO09OCT]热浪Heat Wave的相关文章

洛谷—— P1339 [USACO09OCT]热浪Heat Wave

P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for good eating but are not so adept at creating creamy delicious dairy products. Farmer John is leading the charge to delive

洛谷P1339 [USACO09OCT]热浪Heat Wave

思路:裸SPFA过一遍(建议使用邻接链表存储),无向图,无向图,无向图,重要的事情要说三遍!!!蜜汁RE是什么鬼????第九个点数组开到20K,第十个点数组开到30K才AC.或许我代码写的有bug?(逃 CODE: 1 #include<iostream> 2 #include<queue> 3 using namespace std; 4 queue<int>q; 5 struct Edge{ 6 int pre,to,w; 7 }edge[30000]; 8 int

P1339 [USACO09OCT]热浪Heat Wave

P1339 [USACO09OCT]热浪Heat Wave 题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for good eating but are not so adept at creating creamy delicious dairy products. Farmer John is leading the charge to delive

luogu P1339 [USACO09OCT]热浪Heat Wave

题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for good eating but are not so adept at creating creamy delicious dairy products. Farmer John is leading the charge to deliver plenty of ice cold nutritiou

[最短路]P1339 [USACO09OCT]热浪Heat Wave

题目描述 The good folks in Texas are having a heatwave this summer. Their Texas Longhorn cows make for good eating but are not so adept at creating creamy delicious dairy products. Farmer John is leading the charge to deliver plenty of ice cold nutritiou

题解 P1339 【[USACO09OCT]热浪Heat Wave】

题目链接 这道题纯属是一个裸的SPFA: 建议先把模板AC之后再做. 只需要做一些手脚,就是在加边的时候加一个双向边就好. 然后再第一次加点的时候 看不懂模板的出门左转度娘. 推荐下面一片讲解: 友链 所以说,直接上代码. #include<iostream> #include<algorithm> #include<cstdio> #include<cstdlib> #include<queue> using namespace std; st

[USACO09OCT]热浪Heat Wave

题目链接:https://www.luogu.org/problemnew/show/P1339#sub 题目描述 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品.Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任,以减轻德克萨斯人忍受酷暑的痛苦. FJ已经研究过可以把牛奶从威斯康星运送到德克萨斯州的路线.这些路线包括起始点和终点先一共经过T (1

洛谷——P2639 [USACO09OCT]Bessie的体重问题Bessie&#39;s We…

https://www.luogu.org/problem/show?pid=2639 题目描述 Bessie像她的诸多姊妹一样,因为从Farmer John的草地吃了太多美味的草而长出了太多的赘肉.所以FJ将她置于一个及其严格的节食计划之中.她每天不能吃多过H (5 <= H <= 45,000)公斤的干草. Bessie只能吃一整捆干草:当她开始吃一捆干草的之后就再也停不下来了.她有一个完整的N (1 <= N <= 500)捆可以给她当作晚餐的干草的清单.她自然想要尽量吃到更

洛谷P1339 热浪

P1339 热浪 529通过 1.3K提交 题目提供者yeszy 标签图论福建省历届夏令营 难度普及+/提高 提交该题 讨论 题解 记录 最新讨论 求助...为什么是未知错误… 求修正,貌似死循环 第六个点和第九个点怎么了 细微之处 最短路 题目描述 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品.Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身先士卒地承担起向德克萨斯运送大量的营养冰凉的牛奶的重任