前面用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;
}

POJ 1847 Floyd_wshall算法的更多相关文章

  1. POJ 1847 dijstra算法

    POJ 无限循环CE中.感觉是读题难.然后就可以建图上模板了. 附个人代码: #include<stdio.h>#include<string.h>#include<io ...

  2. poj 1847 最短路简单题,dijkstra

    1.poj  1847  Tram   最短路 2.总结:用dijkstra做的,算出a到其它各个点要改向的次数.其它应该也可以. 题意: 有点难懂.n个结点,每个点可通向ki个相邻点,默认指向第一个 ...

  3. POJ 1847 Tram (最短路径)

    POJ 1847 Tram (最短路径) Description Tram network in Zagreb consists of a number of intersections and ra ...

  4. 最短路 || POJ 1847 Tram

    POJ 1847 最短路 每个点都有初始指向,问从起点到终点最少要改变多少次点的指向 *初始指向的那条边长度为0,其他的长度为1,表示要改变一次指向,然后最短路 =========高亮!!!===== ...

  5. poj 1847( floyd && spfa )

    http://poj.org/problem?id=1847 一个水题,用来熟悉熟悉spfa和floyd的. 题意:有m条的铁路,要从x,到y, 之后分别就是条铁路与其他铁路的交点.第一个输入的为有n ...

  6. poj 2195 KM算法

    题目链接:http://poj.org/problem?id=2195 KM算法模板~ 代码如下: #include "stdio.h" #include "string ...

  7. poj 1847 Tram

    http://poj.org/problem?id=1847 这道题题意不太容易理解,n个车站,起点a,终点b:问从起点到终点需要转换开关的最少次数 开始的那个点不需要转换开关 数据: 3 2 1// ...

  8. POJ 1860 Bellman-Ford算法

    转载链接:http://blog.csdn.net/lyy289065406/article/details/6645778 提示:关键在于反向利用Bellman-Ford算法 题目大意 有多种汇币, ...

  9. POJ 1797 kruskal 算法

    题目链接:http://poj.org/problem?id=1797 开始题意理解错.不说题意了. 并不想做这个题,主要是想测试kruskal 模板和花式并查集的正确性. 已AC: /* 最小生成树 ...

随机推荐

  1. CRC32是什么?

    CRC32:CRC本身是“冗余校验码”的意思,CRC32则表示会产生一个32bit(8位十六进制数)的校验值.由于CRC32产生校验值时源数据块的每一个bit(位)都参与了计算,所以数据块中即使只有一 ...

  2. 探索Java8:Stream的使用

    Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据. Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达 ...

  3. ubuntu下进程kidle_inject致使编译软件很慢

    一.背景 某一天编译一个程序发现半天都没编译ok,于是使用top一看发现有个别进程占用cpu奇高,遂出此文 二.怎么解决? 2.1 什么进程占据很高cpu 名为kidle_inject,同时开启了好几 ...

  4. 再谈树---无根树转有根树( dfs搜索转化+fa数组记录父节点) *【模板】

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <vector> ...

  5. POJ 1270 Following Orders(拓扑排序)题解

    Description Order is an important concept in mathematics and in computer science. For example, Zorn' ...

  6. 每个成长者,必须学会可以练习 (来自ProcessOn流程图工具作者底部)

  7. diff详解,读懂diff结果-转载

    阅读目录 1.概述 2.diff如何工作,如何理解diff的执行结果 3.Normal模式 4.Context模式 5.Unified模式 6.比较目录 7.一些有用的参数 回到顶部 1.概述 本文将 ...

  8. Codeforces Beta Round #94 div 2 B

    B. Students and Shoelaces time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  9. java 基本数据类型及自动类型提升

    1.Java的8种基本数据类型及其所占空间大小: boolean  8bit/1byte       byte      8bit/1byte       char      16bit/2byte ...

  10. java23种设计模式之一: 策略模式

    由于最近在研究学习设计模式,我会用自己的理解方式来表述对设计模式的学习和认识,通过最常用.好记的案例来记住和使用设计模式,希望对设计代码方面有所提高和改进. 一.应用背景     在软件开发中常常遇到 ...