博客
关于我
MPI Maelstrom POJ - 1502
阅读量:280 次
发布时间:2019-03-01

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

??????????????????????1????????????????????Floyd?Dijkstra?Bellman-Ford?Spfa???????Spfa????????Spfa????????????????#include 
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define ll long long#define PI acos(-1)#define mes(x,y) memset(x,y,sizeof(x))#define lp pair
#define FAST_IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)using namespace std;const ll inf = 10000000000000005;ll n, m, i, j, k = 0, t, w, flag, x, y, z, sum;string s1, s2, s;struct node { ll end, len; node(ll x, ll y) : end(x), len(y) {}};vector
v;ll dis[110];ll ismove[110];ll StrTurnNum(string s) { sum = 0; ll i = 0; while (i < s.length()) { sum = (ll)(s[i++] - '0') + sum * 10; } return sum;}ll Spfa(ll beginkind) { mes(dis, inf); mes(ismove, 0); queue
que; dis[beginkind] = 0; que.push(beginkind); while (!que.empty()) { t = que.front(); que.pop(); ismove[t] = 0; for (i = 0; i < v[t].size(); i++) { if (dis[v[t][i].end] > dis[t] + v[t][i].len) { dis[v[t][i].end] = dis[t] + v[t][i].len; if (ismove[v[t][i].end] == 0) { que.push(v[t][i].end); ismove[v[t][i].end] = 1; } } } } for (i = 2, j = dis[1]; i <= n; i++) { j = max(j, dis[i]); } return j;}int main() { cin >> n; for (i = 2; v.resize(n+1); i++) { for (j = 1; j < i; j++) { cin >> s; if (s == "x") continue; else { v[i].push_back(node(j, StrTurnNum(s))); v[j].push_back(node(i, StrTurnNum(s))); } } } cout << Spfa(1) << endl; return 0;}

?????

  • ?????????????????????????????????
  • ?????????node??????????end?len?????????????
  • ???Spfa??????????
  • StrTurnNum??????????????
  • Spfa?????Spfa?????????????????
  • main??????????????????Spfa??1??????????????
  • ?????????????????????????????

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

    你可能感兴趣的文章
    openSUSE 13.1 Milestone 2 发布
    查看>>
    openSUSE推出独立 GUI 包管理工具:YQPkg,简化了整个软件包管理流程
    查看>>
    OpenVP共用账号 一个账号多台电脑登录
    查看>>
    OpenVSwtich(OVS)Vlan间路由实战 附实验环境
    查看>>
    Openwrt LuCI模块练习详细步骤
    查看>>
    openwrt_git_pull命令提示merger冲突时如何解决?
    查看>>
    OpenWrt包管理软件opkg的使用(极路由)
    查看>>
    OpenWrt固件编译刷机完全总结
    查看>>
    Open××× for Linux搭建之二
    查看>>
    Open×××有线网络时使用正常,无线网络时使用报错的解决方案
    查看>>
    Opera Mobile Classic Emulator
    查看>>
    Operation not supported on read-only collection 的解决方法 - [Windows Phone开发技巧系列1]
    查看>>
    OperationResult
    查看>>
    Operations Manager 2007 R2系列之仪表板(多)视图
    查看>>
    operator new and delete
    查看>>
    operator new 与 operator delete
    查看>>
    operator() error
    查看>>
    OPPO K3在哪里打开USB调试模式的完美方法
    查看>>
    oppo后端16连问
    查看>>
    OPPO软件商店APP侵权投诉流程
    查看>>