博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1511 链式前向星+SPFA
阅读量:7082 次
发布时间:2019-06-28

本文共 1853 字,大约阅读时间需要 6 分钟。

#include
#include
#include
using namespace std;const int maxn=1000010,inf=1000000000;long long ans; int e,to[maxn],next[maxn],begin[maxn],w[maxn]; int e1,to1[maxn],next1[maxn],begin1[maxn],w1[maxn]; int d[maxn],p[maxn],q[maxn*50]; int m,n,f,l; void add(int x,int y,int z){ to[++e]=y; next[e]=begin[x]; begin[x]=e; w[e]=z; } void add1(int x,int y,int z){ to1[++e1]=y; next1[e1]=begin1[x]; begin1[x]=e1; w1[e1]=z; } int main(){ int i,j,k,m,n; int t; scanf("%d",&t); while(t--){ int i,j,k,x,y,z; scanf("%d%d",&n,&m); e=0;e1=0; for(i=1;i<=n;i++){begin[i]=0;begin1[i]=0;} for(i=1;i<=m;i++){ scanf("%d%d%d",&x,&y,&z); add(x,y,z); add1(y,x,z); } for(i=1;i<=n;i++){ d[i]=inf; p[i]=0; } f=0;l=1; d[1]=0;q[1]=1;p[1]=1; while(f
d[k]+w[i]){ d[to[i]]=d[k]+w[i]; if(!p[to[i]]){ q[++l]=to[i]; p[to[i]]=1; } } } ans=0; for(i=1;i<=n;i++)ans+=d[i]; for(i=1;i<=n;i++){ d[i]=inf; p[i]=0; } f=0;l=1; d[1]=0;q[1]=1;p[1]=1; while(f
d[k]+w1[i]){ d[to1[i]]=d[k]+w1[i]; if(!p[to1[i]]){ q[++l]=to1[i]; p[to1[i]]=1; } } } for(i=1;i<=n;i++)ans+=d[i]; printf("%I64d\n",ans); } return 0;}

转载地址:http://zvlml.baihongyu.com/

你可能感兴趣的文章
VIM键盘映射 (Map)~转载
查看>>
移动端缩放设置
查看>>
GCC编译动态和静态链接库例子
查看>>
道格拉斯-普克抽稀算法《转》
查看>>
BZOJ 1002 轮状病毒 矩阵树定理
查看>>
python之paramiko 远程执行命令
查看>>
materialized view 和snapshot
查看>>
PHP使用数据库的并发问题(转)
查看>>
关于tcc、tlink的编译链接机制的研究
查看>>
Tomcat 安装与配置规范
查看>>
[LeetCode] Fraction to Recurring Decimal
查看>>
GROUP BY语句与HAVING语句的使用
查看>>
SMG12232A2标准图形点阵型液晶显示模块的演示程序[C51编程语言]
查看>>
RABBITMQ队列
查看>>
Struts2的简单的文件上传
查看>>
如何将hdf5文件转换成tflite文件
查看>>
Redis windows 2.6版本并发出错解决方法
查看>>
html
查看>>
-L、-rpath和-rpath-link的区别
查看>>
First_Web_Test
查看>>