#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#define maxn 100010
using namespace std;
int n,m,T,num1,num2,head1[maxn],head2[maxn],dis1[maxn],dis2[maxn],f[maxn];
queue<int>q1;
queue<int>q2;
int ans[maxn],maxx;
struct node
{
int u,v,t,pre;
}e1[maxn];
struct Node
{
int u,v,t,pre;
}e2[maxn];
int init()
{
int x=;char s;s=getchar();
while(s<''||s>'')s=getchar();
while(s>=''&&s<=''){x=x*+s-'';s=getchar();}
return x;
}
void Add1(int from,int to,int dis)
{
num1++;
e1[num1].u=from;
e1[num1].v=to;
e1[num1].t=dis;
e1[num1].pre=head1[from];
head1[from]=num1;
}
void Add2(int from,int to,int dis)
{
num2++;
e2[num2].u=from;
e2[num2].v=to;
e2[num2].t=dis;
e2[num2].pre=head2[from];
head2[from]=num2;
}
void SPFA1()
{
dis1[T]=;
q1.push(T);
f[T]=;
while(!q1.empty())
{
int k=q1.front();
q1.pop();
f[k]=;
for(int i=head1[k];i;i=e1[i].pre)
if(dis1[e1[i].v]>dis1[k]+e1[i].t)
{
dis1[e1[i].v]=dis1[k]+e1[i].t;
if(f[e1[i].v]==)
{
f[e1[i].v]=;
q1.push(e1[i].v);
}
}
}
}
void SPFA2()
{
dis2[T]=;
q2.push(T);
f[T]=;
while(!q2.empty())
{
int k=q2.front();
q2.pop();
f[k]=;
for(int i=head2[k];i;i=e2[i].pre)
if(dis2[e2[i].v]>dis2[k]+e2[i].t)
{
dis2[e2[i].v]=dis2[k]+e2[i].t;
if(f[e2[i].v]==)
{
f[e2[i].v]=;
q2.push(e2[i].v);
}
}
}
}
int main()
{
//freopen("sparty.in","r",stdin);
//freopen("sparty.out","w",stdout);
int x,y,z;
n=init();m=init();T=init();
for(int i=;i<=m;i++)
{
x=init();y=init();z=init();
Add2(x,y,z);Add1(y,x,z);
}
memset(dis1,/,sizeof(dis1));
memset(dis2,/,sizeof(dis2));
SPFA1();
memset(f,,sizeof(f));
SPFA2();
for(int i=;i<=n;i++)
ans[i]=dis1[i]+dis2[i];
for(int i=;i<=n;i++)
maxx=max(maxx,ans[i]);
printf("%d\n",maxx);
return ;
}

176. [USACO Feb07] 奶牛聚会的更多相关文章

  1. SPFA cojs 176. [USACO Feb07] 奶牛聚会

    cojs 176. [USACO Feb07] 奶牛聚会 ★☆   输入文件:sparty.in   输出文件:sparty.out   简单对比时间限制:3 s   内存限制:16 MB N(1 ≤ ...

  2. cogs 176. [USACO Feb07] 奶牛聚会 dijkstra

    176. [USACO Feb07] 奶牛聚会 ★☆   输入文件:sparty.in   输出文件:sparty.out   简单对比时间限制:3 s   内存限制:16 MB 译: zqzas N ...

  3. 157. [USACO Nov07] 奶牛跨栏

    157. [USACO Nov07] 奶牛跨栏(点击转到COGS) 输入文件:hurdles.in   输出文件:hurdles.out 时间限制:1 s   内存限制:128 MB 译 by CmY ...

  4. cogs 141. [USACO Jan08] 奶牛的选举

    141. [USACO Jan08] 奶牛的选举 ★   输入文件:elect.in   输出文件:elect.out   简单对比时间限制:1 s   内存限制:16 MB 在推翻了Farmer J ...

  5. 题解 [USACO Mar08] 奶牛跑步

    [USACO Mar08] 奶牛跑步 Description Bessie准备用从牛棚跑到池塘的方法来锻炼. 但是因为她懒,她只准备沿着下坡的路跑到池塘,然后走回牛棚. Bessie也不想跑得太远,所 ...

  6. cogs157. [USACO Nov07] 奶牛跨栏 x

    157. [USACO Nov07] 奶牛跨栏 ★★   输入文件:hurdles.in   输出文件:hurdles.out   简单对比时间限制:1 s   内存限制:128 MB 译 by Cm ...

  7. 157. [USACO Nov07] 奶牛跨栏(第三次考试大整理)

    157. [USACO Nov07] 奶牛跨栏 输入文件:hurdles.in   输出文件:hurdles.out   简单对比 时间限制:1 s   内存限制:128 MB 译 by CmYkRg ...

  8. usaco 地震 && 奶牛观光

    Usaco 地震: Description 一场地震把约翰家的牧场摧毁了,坚强的约翰决心重建家园.约翰已经重建了N个牧场, 现在他希望能修建一些道路把它们连接起来.研究地形之后,约翰发现可供修建的道路 ...

  9. usaco 安慰奶牛

    Description 约翰有N个牧场,编号依次为1到N.每个牧场里住着一头奶牛.连接这些牧场的有P条 道路,每条道路都是双向的.第j条道路连接的是牧场Sj和Ej,通行需要Lj的时间.两牧场之 间最多 ...

随机推荐

  1. linux 下makefile

    linux下c编程中makefile是必须会的,我刚开始学,将我对makefile的理解记录下来. 通常我们在windows下编写c程序,有各种ide工具为我们执行makefile工作但在linux下 ...

  2. Webservices-2.C#创建web服务,及引用访问、代码访问

    注:web服务简介Webservices-1.web服务定义简介 以下均以C#语言为例 一.创建web服务(简单介绍,主要讨论客户端引用) 打开VS创建网站项目,在网站项目中添加“WEB服务(ASMX ...

  3. Gunicorn快速入门

    Gunicorn (独角兽)是一个高效的Python WSGI Server,通常用它来运行 wsgi application(由我们自己编写遵循WSGI application的编写规范) 或者 w ...

  4. C#后台找不到前台html标签

    没关系!   只要他在form表单里  , 咱在标签加上一个   runat="server"就可以在后台cs代码里找到他了

  5. ubuntu 设置root启动

    http://www.linuxidc.com/Linux/2012-05/60806.htm sudo -s 输入普通用户的password 回车即可进入root权限 vi /etc/lightdm ...

  6. VC版本的MakeObjectInstance把WNDPROC映射到类的成员函数

    这段时间用VC封装Windows类库,没有MakeObjectInstance处理窗口消息确实不爽,又不想使用MFC的消息映射,这玩意的效率和美观只能呵呵. 至于MakeObjectInstance是 ...

  7. html 商品展示框

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  8. 数据结构(Splay平衡树):COGS 339. [NOI2005] 维护数列

    339. [NOI2005] 维护数列 时间限制:3 s   内存限制:256 MB [问题描述] 请写一个程序,要求维护一个数列,支持以下 6 种操作:(请注意,格式栏 中的下划线‘ _ ’表示实际 ...

  9. oracle 表查询(1)

    oracle 表基本查询 介绍在我们讲解的过程中我们利用scott 用户存在的几张表(emp,dept)为大家演示如何使用select语句,select 语句在软件编程中非常有用,希望大家好好的掌握. ...

  10. 使用Sublime Text搭建python调试环境

    原文地址:http://blog.csdn.net/wenxuansoft/article/details/38559731 pycharmt等IDE虽然用着爽,但毕竟在速度.资源上还是比较让人不爽的 ...