hdu 2112 HDU Today 最短路
来源:互联网 发布:淘宝提示出售假冒商品 编辑:程序博客网 时间:2024/05/15 05:17
最短路裸题。
#include<stdio.h>#include<string.h>#include<queue>#include<string>#include<iterator>#include<map>using namespace std;#define N 10055#define maxx 99999999int n, m;int vis[N], ans[N];char s[32], e[32];struct node{ int dis[300], next[300]; int num;}mat[N];void spfa(int st){ for(int i = 1; i <= n; i++) // 初始化距离 ans[i] = (i == st ? 0: maxx); memset(vis, 0, sizeof(vis)); queue<int > q; while(!q.empty()) q.pop(); q.push(st); vis[st] = 1; while(!q.empty()) { int now = q.front(); for(int i = 0; i < mat[now].num; i++) { if(ans[now] + mat[now].dis[i] < ans[mat[now].next[i]]) { ans[mat[now].next[i]] = ans[now] + mat[now].dis[i]; if(!vis[mat[now].next[i]]) // 这个节点松弛过且不在队列,则入队 { q.push(mat[now].next[i]); vis[mat[now].next[i]] = 1; } } } q.pop(); vis[now] = 0; }}int main(){ map<string, int> m; char s1[32], s2[32]; while(~scanf("%d", &n) && n != -1) { m.clear(); bool flag = 0; int d; for (int i = 1; i <= n; i++ ) mat[i].num = 0; scanf("%s%s", s, e); if(!strcmp(s, e)) { flag = 1; } m[s] = 1; m[e] = 2; int cnt = 3; for(int i = 0; i < n; i++) { scanf("%s%*c%s%*c%d%*c", s1, s2, &d); if(!m[s1]) { m[s1] = cnt++;//a } if(!m[s2]) { m[s2] = cnt++;//b } mat[m[s1]].next[mat[m[s1]].num] = m[s2]; mat[m[s1]].dis[mat[m[s1]].num++] = d; mat[m[s2]].next[mat[m[s2]].num] = m[s1]; mat[m[s2]].dis[mat[m[s2]].num++] = d; } if(flag) { printf("0\n"); continue; } spfa(m[s]); if(ans[2] == maxx) { printf("-1\n"); } else printf("%d\n", ans[2]); } return 0;}
代码的确丑TUT
0 0
- HDU Today 最短路
- hdu 2112 HDU Today( 最短路)
- HDU 2112 HDU Today(最短路)
- hdu 2112 HDU Today(最短路)
- hdu 2112 HDU Today 最短路
- HDU 2112HDU Today (最短路)
- hdu 2112 HDU Today (最短路)
- hdu 2112HDU Today 最短路+map
- 【HDU】-2112-HDU Today(最短路)
- HDU-2112 HDU Today 最短路
- HDU 2112 HDU Today(最短路)
- hdoj 2112 HDU Today 【最短路】
- Hdu Today 2112 最短路Dijk
- HDOJ-2112-HDU Today(最短路)
- hdu2112 HDU Today(最短路)
- hdoj2112 HDU Today 最短路
- 【最短路+模板题】杭电 hdu 2112 HDU Today
- 【hdu 2112】 HDU Today ( 最短路 Dijkstra)0x3f3f3f3f
- List Widgets(3):Remote views Service和Factory
- 获取iOS设备的安装的app的目录、、
- 一点密码破解的心得(更新字典)
- Library Cache Miss
- 单片机简介
- hdu 2112 HDU Today 最短路
- 编译错误--------:XX does not name a type和field `XX' has incomplete type
- 内核对象共享
- Matlab的排序函数-sort
- 开博第一天
- EffectiveJava之15、17、24、29、32
- 第十三周项目二成绩处理
- 在android中进行单元测试
- ZOJ - (缩点求最长路)