博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P3106 GPS的决斗
阅读量:4324 次
发布时间:2019-06-06

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

题面:

本题三次建图:先将GPS1的图存入邻接表。跑一遍dijkstra然后将GPS2的图再存入邻接表。再跑一遍dijkstra最后将2次跑过的dijkstra,得到的最短路后所发出的警告数(分别不在2个Gps的次数)当成边权,再跑一遍dijstra。Code:#include
#include
#include
#include
using namespace std;int n,m,head[100005],j,Next[100005],adj1[100005],adj2[100005],adj3[100005],p,q,a,b,i,k,d[100005],d2[100005],lun[100005];void Push(int u,int v,int w,int t){ Next[++k]=head[u]; head[u]=k; lun[k]=v; adj1[k]=w; adj2[k]=t;}struct str{ int s,w;};bool operator <(str a,str b){ return a.w>b.w;}int adj(int fl,int i){ if(fl==1) return adj1[i]; if(fl==2) return adj2[i]; if(fl==3) return adj3[i];}void Dijkstra(int fl){ int i,vis[100005]={0}; memset(d,0x7f7f7f,sizeof(d)); d[n]=0; priority_queue
q; q.push((str){n,0}); while(!q.empty()) { str p=q.top(); q.pop(); if(vis[p.s]!=0) continue; vis[p.s]=1; for(i=head[p.s];i!=0;i=Next[i]) if(d[p.s]+adj(fl,i)

转载于:https://www.cnblogs.com/ukcxrtjr/p/11194983.html

你可能感兴趣的文章
Map (就一个json.jar)
查看>>
FPS检测
查看>>
2. 两数相加 golang
查看>>
Winform窗体设计工具源码
查看>>
字典和列表的删除问题, 深浅拷贝
查看>>
文件操作
查看>>
java中的反射整理
查看>>
Android 跑马灯效果与EditText冲突
查看>>
memcached Logging
查看>>
eclipse经常使用快捷键
查看>>
ZOJ 2588 Burning Bridges(无向连通图求割边)
查看>>
IP转换hash以及返回
查看>>
map+pair Bayan 2015 Contest Warm Up D题
查看>>
Jumserver安装日志审计和资产管理
查看>>
【转】resultMap详解(包含多表查询)
查看>>
在VisualStudio中显示当前的分支名
查看>>
Android 网络请求详解
查看>>
边工作边刷题:70天一遍leetcode: day 33
查看>>
第10章 系统级I/O(下)
查看>>
mysql foreign key(外键) 说明与实例
查看>>