最短路  执行一遍 Floyd算法    比赛的时候没有想到, 用了优化的Dijkstra  超时到死

#include <cstdio>
#include <cstring>
#include <algorithm>
#define INF 1000000000
using namespace std;
int g[310][310];
bool flag[310];
int main()
{
    // freopen("d:/in.txt", "r", stdin);
    int n, m, k, ca = 1;
    while (scanf("%d%d%d", &n, &m, &k) == 3 && n + m + k)
    {
        if (ca > 1)
            puts("");
        printf("Case %d:\n", ca++);
        memset(flag, false, sizeof(flag));
        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)
                if (i == j) g[i][j] = 0;
                else g[i][j] = INF;
        for (int i = 0; i < m; i++)
        {
            int u, v, w;
            scanf("%d%d%d", &u, &v, &w);
            if (g[u][v] > w)
                g[u][v] = w;
        }
        for (int i = 0; i < k; i++)
        {
            int c;
            scanf("%d", &c);
            if (c)
            {
                int u, v;
                scanf("%d%d", &u, &v);
                if (!flag[u] || !flag[v])
                    printf("ERROR! At path %d to %d\n", u, v);
                else if (g[u][v] == INF)
                    puts("No such path");
                else
                    printf("%d\n", g[u][v]);
            }
            else
            {
                int u;
                scanf("%d", &u);
                if (flag[u])
                    printf("ERROR! At point %d\n", u);
                else
                {
                    flag[u] = true;
                    for (int j = 0; j < n; j++)
                        for (int o = 0; o < n; o++)
                            g[j][o] = min(g[j][o], g[j][u] + g[u][o]);
                }
            }
        }
    }
}

hdu 3631的更多相关文章

  1. hdu 3631 Shortest Path(Floyd)

    题目链接:pid=3631" style="font-size:18px">http://acm.hdu.edu.cn/showproblem.php?pid=36 ...

  2. hdu 3631 Shortest Path

    floyd算法好像很奇妙的样子.可以做到每次加入一个点再以这个点为中间点去更新最短路,效率是n*n. #include<cstdio> #include<cstring> #i ...

  3. HDU - 3631 Shortest Path(Floyd最短路)

    Shortest Path Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u SubmitStat ...

  4. [图论]Floyd 算法小结

    Floyd 算法小结  By Wine93 2013.11 1. Floyd算法简介 Floyd算法利用动态规划思想可以求出任意2点间的最短路径,时间复杂度为O(n^3),对于稠密图, 效率要高于执行 ...

  5. 【转载】图论 500题——主要为hdu/poj/zoj

    转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...

  6. hdu图论题目分类

    =============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...

  7. HDU图论题单

    =============================以下是最小生成树+并查集====================================== [HDU] 1213 How Many ...

  8. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  9. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

随机推荐

  1. kettle学习-day1-介绍、下载、安装

    QQ群:306059317\ 技术支持:荷露叮咚网络学苑http://www.heludd.com/kettle 下载最新版,获取视频教程 kettle安装: 1).下载需要安装的kettle版本,官 ...

  2. ios swift reduce Method

    Swift’s API includes many functions and instance methods that reflect its functional programming her ...

  3. android 安装包签名问题探究

    1.首先先科普一下,android为什么需要给安装包签名: 所有的Android应用程序在发布之前都要求开发人员用一个证书进行数字签名,anroid系统不会安装没有进行签名的由于程序.    平时我们 ...

  4. OpenGL8-直接分配显存-极速绘制(2)

    视频教程请关注 http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440/*** OpenGL8-直接分配显存-极速绘制(Opengl1 ...

  5. 高性能CSS(二)

    避免CSS表达式 CSS表达式是动态设置CSS属性的强大(但危险)方法.Internet Explorer从第5个版本开始支持CSS表达式.下面的例子中,使用CSS表达式可以实现隔一个小时切换一次背景 ...

  6. PHP中常量

    PHP中常量 常量就是一种特殊的变量,PHP中的常量值一旦定义,在程序运行过程中不可更改,常量本身也不允许删除. 程序是用于解决现实问题,由两部分组成:代码,数据 常量的定义: 语法1: define ...

  7. [Guava学习笔记]Collections: 不可变集合, 新集合类型

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3843386.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  8. struts2全注解Action配置

  9. JS的IE和FF兼容性问题汇总

    转自:蓝色理想 以下以 IE 代替 Internet Explorer,以 MF 代替 Mozilla FF 一.函数和方法差异 1. getYear()方法 [分析说明]先看一下以下代码: var ...

  10. Java http post

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import ...