• POJ 1847 Floyd_wshall算法


    前面用dijstra写过了。但是捏。数据很小。也可以用Floyd来写。

    注意题目里给出的是有向的权值。

    附代码:
    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    #define inf 0x1f1f1f1f
    using namespace std;

    int n, a, b;
    int num;
    int dis[210][210];
    int i, j, k;

    int main()
    {
        while (cin >> n >> a >> b)
        {
            memset(dis, inf, sizeof(dis));
            for (i=1; i<=n; ++i)
            {
                int t;
                cin >> num;
                if (num == 0) continue;
                cin >> t;
                dis[i][t] = 0;    // 默认指向是第一个。
                //dis[t][i] = 0;         // 单向的。给出的是从i到t的权值。
                for (j=2; j<=num; ++j)
                {
                   cin >> t;
                   //dis[t][i] = 1;
                   dis[i][t] = 1;
                }
            }
            for (k=1; k<=n; ++k)
            {
                for (i=1; i<=n; ++i)
                {
                    for (j=1; j<=n; ++j)
                    {
                        if (dis[i][j] > dis[i][k] + dis[k][j])
                        dis[i][j] = dis[i][k] + dis[k][j];
                    }
                }
            }
            if (dis[a][b] != inf)
            cout << dis[a][b] << endl;
            else cout << -1 << endl;
        }
        return 0;
    }

  • 相关阅读:
    Django学习-开篇
    php7 安装event扩展
    nginx try_files 举例详解
    php7.2.3 安装pcntl 扩展
    nginx配置php-pathinfo
    thinkphp3.2.3使用PDO的问题
    niginx参数配置详解(转)
    lnmp编译安装:centos7+nginx-1.12+mariadb10.2+php7.2
    Git 误删本地代码恢复
    Typora + PicGo + Gitee 解放你对图片的管理
  • 原文地址:https://www.cnblogs.com/icode-girl/p/4586595.html
Copyright © 2020-2023  润新知