【POJ1724】ROADS 某邪恶最短路
来源:互联网 发布:纵横家 知大局 编辑:程序博客网 时间:2024/05/22 12:25
题意:p,n,m,然后m行表示入点出点长度花费。
求花费在p以内的最短路。
我写的一定不是pqdij!一定不是!一定是dfs!
题解:做一个pq优化的dij,然后看每次跑出来的路的花费是否<=p。
完事。额,注意是单向边。
看代码!快看我的水代码!
#include <set>#include <list>#include <queue>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#define N 1005#define M 100005using namespace std;struct KSD{int v,len,cost,next;}e[M<<1];int head[N],cnt;void add(int u,int v,int len,int cost){cnt++;e[cnt].v=v;e[cnt].len=len;e[cnt].cost=cost;e[cnt].next=head[u];head[u]=cnt;}int n,m,p;struct Lux{int f,c,v;bool operator < (const Lux &a)const{return f>a.f;}Lux(int _f,int _c,int _v):f(_f),c(_c),v(_v){}Lux(){}};priority_queue<Lux>pq;int dfs(int s,int t){int i,u;pq.push(Lux(0,0,s));while(!pq.empty()){Lux U=pq.top();pq.pop();u=U.v;if(u==t)return U.f;for(i=head[u];i;i=e[i].next){if(U.c+e[i].cost<=p)pq.push(Lux(U.f+e[i].len,U.c+e[i].cost,e[i].v));}}return -1;}int main(){//freopen("test.in","r",stdin);int i,a,b,c,d;scanf("%d%d%d",&p,&n,&m);for(i=1;i<=m;i++){scanf("%d%d%d%d",&a,&b,&c,&d);add(a,b,c,d);//add(b,a,c,d);}printf("%d\n",dfs(1,n));return 0;}
0 0
- 【POJ1724】ROADS 某邪恶最短路
- POJ1724 ROADS最短路问题
- poj1724--ROADS(最短路变形)
- POJ1724 ROADS 解题报告【最短路/SPFA】
- POJ1724 ROADS(加限制条件的最短路,深搜)
- POJ1724 ROADS [最短路变形 二维dp+spfa]
- poj1724【最短路】
- POJ1724最短路
- POJ1724 ROADS(深搜DFS,最短路,dijkstra,用优先队列优化)
- POJ1724---ROADS (最短路变形(邻接表+优先队列))
- poj1724 ROADS
- poj1724 - ROADS
- ROADS poj1724
- POJ1724--ROADS
- POJ1724 ROADS
- POJ1724-ROADS
- poj1724 ROADS
- poj1724 ROADS
- 2014-10-31Android学习------在小窗口Dialog中实现GIF动画--------GIF动画实现
- 致程序员们:来自一个前辈的忠告
- 一致性哈希环在分布式任务系统中的应用
- linux下设置core dump文件生成的方法
- 泛型类和泛型方法示例
- 【POJ1724】ROADS 某邪恶最短路
- zoj 2100 水dfs
- 驱动开发心得经验和想法
- 高仿新浪点击图片放大(可以拖动,动态缩小放大,以及再次点击图片消失和保存图片的功能)
- 泰安之行
- 第十周项目二 getchar()的初运用
- Android学习日记-Activity初步了解
- mac os 10.10 下使用Eclipse调试,Android Device Chooser无法显示真机的问题
- 高性能算法与固定近似比算法