zoukankan      html  css  js  c++  java
  • poj 1797 Dijkstra 变形

    刚做完2253就做这题了。。和2253基本一样Dijkstra的变形,可以用dfs写,试了一下,但是好像又写了个最短路的递归版....

    Dijkstra变形的时候注意找的是最大路径。虽然大致代码都自己编出来了,但是还是有好多细节没把握好,没能1a过。

    #include<iostream>
    #include<algorithm>
    #include<cstring>
    #include<cmath>
    using namespace std;
    #define N 1000000
    int map[1010][1010];
    int n,m;
    int lowcost[1010];
    int vis[1010];
    int Nn;
    void Dijkstra()
    {
        int i,j,k,maxt;
        int start=1;
        for(i=1;i<=n;i++)
            map[i][i]=N;
        for(i=1;i<=n;i++)
            lowcost[i]=map[start][i];
        vis[start]=true;
        for(i=1;i<=n;i++)           //m条边
        {
            maxt=0;
            for(j=1;j<=n;j++)
            {
                if((maxt<lowcost[j])&&!vis[j])             //变形,找最大值
                {
                    maxt=lowcost[j];
                    k=j;
                }
            }
            vis[k]=true;
            for(j=1;j<=n;j++)
            if(!vis[j]&&lowcost[j]<min(lowcost[k],map[k][j]))
            {
                lowcost[j]=min(lowcost[k],map[k][j]);
            }
        }
    }
    void input()
    {
        int weight,i,j,x,y;
        cin>>n>>m;
    
        memset(map,0,sizeof(map));
        memset(lowcost,0,sizeof(lowcost));
        memset(vis,0,sizeof(lowcost));
    
        for(i=1;i<=m;i++)       //邻接矩阵的输入
        {
            cin>>x>>y;cin>>weight;
            map[x][y]=weight;
            map[y][x]=weight;
        }
    }
    int main()
    {
        int T;
        cin>>T;
        Nn=0;
        while(T--)
        {
            Nn++;
            input();
            Dijkstra();
            cout<<"Scenario #"<<Nn<<":"<<endl;
            cout<<lowcost[n]<<endl;
            if(T)
            cout<<endl;
        }
        return 0;
    }
    


     

  • 相关阅读:
    BOM与DOM
    CSS中的长度单位及颜色表示
    关于display:grid layout
    关于position
    简单的注册表单
    We重邮
    APP定制开发的完整流程
    国内移动广告平台的混战大盘点
    Mobile App Monetization, Analysis & Mediation – Google AdMob
    代码优化
  • 原文地址:https://www.cnblogs.com/amourjun/p/5134227.html
Copyright © 2011-2022 走看看