bzoj 2292: 【POJ Challenge 】永远挑战 SPFA
来源:互联网 发布:室内定位 指纹算法 编辑:程序博客网 时间:2024/05/22 15:59
→题目链接←
我居然没有一发A掉这个水题,真是差劲
犯了一个极其愚蠢的错误
重写了一遍就A了
然而我旁边某t姓同学告诉我说这道题djkstra
然而我并不能分清djkstra和spfa的区别orz
A掉了就好
一个裸的最短路,貌似用什么方法都能过。
代码:
#include<iostream>#include<vector>#include<queue>#include<cstdio>using namespace std;struct node{int to,len;int now;};int n,m;vector<node>v[100010];queue<node>q;int Min[100010];bool vis[100010];void link(int x,int y,int z){node t;t.to=y;t.len=z;v[x].push_back(t);}int main(){scanf("%d%d",&n,&m);for(int i=1; i<=n; i++)Min[i]=2333333;for(int i=0; i<m; i++){int x,y,z;scanf("%d%d%d",&x,&y,&z);link(x,y,z);}node t;t.now=1;t.len=0;q.push(t);Min[1]=0;vis[1]=true;while(!q.empty()){t=q.front();q.pop();if(t.now==n)continue;for(int i=0; i<v[t.now].size(); i++){int to=v[t.now][i].to;int len=v[t.now][i].len;if(Min[to]>Min[t.now]+len){Min[to]=Min[t.now]+len;if(!vis[to]){node t1=t;t1.now=to;t1.len+=len;vis[to]=true;q.push(t1);}}}vis[t.now]=false;}printf("%d\n",Min[n]);return 0;}
阅读全文
0 0
- bzoj 2292: 【POJ Challenge 】永远挑战 SPFA
- BZOJ 2292 【POJ Challenge 】永远挑战 dijkstra
- BZOJ 2292: 【POJ Challenge 】永远挑战 最短路 dijkstra+heap
- 【BZOJ】【P2292】【POJ Challenge】【永远挑战】【题解】【最短路】
- BZOJ2292: 【POJ Challenge 】永远挑战
- BZOJ2292——【POJ Challenge 】永远挑战
- 【bzoj 2288】【POJ Challenge】生日礼物
- BZOJ 2287: 【POJ Challenge】消失之物
- 【链表】BZOJ 2288: 【POJ Challenge】生日礼物
- [BZOJ 2287][POJ Challenge]消失之物
- [乱搞] BZOJ 2296 [POJ Challenge] 随机种子
- BZOJ 2296 【POJ Challenge】随机种子 构造
- BZOJ 2287 【POJ Challenge】消失之物
- BZOJ 2287: 【POJ Challenge】消失之物
- BZOJ 2288: 【POJ Challenge】生日礼物 贪心,堆 BZOJ 1150强化
- Python Challenge挑战一下
- 【BZOJ】【P2295】【POJ Challenge】【我爱你啊】【题解】【水题】
- BZOJ 2287 POJ Challenge 消失之物 分治+背包
- Python读写数据库和乱码问题解决
- java学习第五天
- nyoj 115城市平乱
- java基础第十天 接口
- [题解]codeforces444c DZY Loves Colors
- bzoj 2292: 【POJ Challenge 】永远挑战 SPFA
- RecyclerView....
- 二维数组的基础知识
- HDU 1024 Max Sum Plus Plus DP+滚动数组
- extjs 负责人和部门的级联
- Codevs 1268 选择我自己的算法
- (HDU
- ubuntu常见不常见用法(不定期更新)
- 博客文章导航页