• POJ-2387-Til the Cows Come Home


    链接:https://vjudge.net/problem/POJ-2387

    题意:

    给T,N。有N个点,T条路径。

    T条路以L R V给出。(无向图,太久没写导致WA了一发)。

    求1-N的最短路。

    直接Dijkstra解决。

    代码:

    #include <iostream>
    #include <memory.h>
    #include <algorithm>
    using namespace std;
    const int MAXN = 1000+10;
    int Map[MAXN][MAXN];
    int dis[MAXN];
    int vis[MAXN];
    
    int main()
    {
        int t,n;
        int l,r,v;
        scanf("%d%d",&t,&n);
        for (int i = 1;i<=n;i++)
            for (int j = 1;j<=n;j++)
                if (i == j)
                    Map[i][j] = 0;
                else
                    Map[i][j] = 99999;
        for (int i = 0;i<t;i++)
        {
            scanf("%d%d%d",&l,&r,&v);
            if (Map[l][r] != 0)
                Map[r][l] = Map[l][r] = min(Map[l][r],v);
            else
                Map[r][l] = Map[l][r] = v;
        }
        dis[1] = 0;
        for (int i = 2;i<=n;i++)
        {
            if (Map[1][i] != 0)
                dis[i] = Map[1][i];
            else
                dis[i] = 99999;
        }
        vis[1] = 1;
        for (int i = 1;i<=n;i++)
        {
            int big = 99999;
            int w;
            for (int i = 2;i<=n;i++)
            {
                if (dis[i] < big&&vis[i] == 0)
                {
                    big = dis[i];
                    w = i;
                }
            }
            vis[w] = 1;
            if (w == n)
                break;
            for (int i = 1;i<=n;i++)
            {
                if (dis[i] > dis[w] + Map[w][i])
                    dis[i] = dis[w] + Map[w][i];
            }
        }
        printf("%d
    ",dis[n]);
    }
    

      

  • 相关阅读:
    3.30 DOM操作
    3.29 js例题
    3.28 函数
    3.27 数组例题
    Web 条件查询、分页查
    web页面增、删、改
    JDBC事务、下拉框
    JSTL、断点、JavaEE、DBUTils连接池
    jsp、el表达式
    Session技术 、jsp页面
  • 原文地址:https://www.cnblogs.com/YDDDD/p/10269740.html
Copyright © 2020-2023  润新知