zoukankan      html  css  js  c++  java
  • 道路重建

    题目

    没有被破坏的边的权值变为0,被破坏的边什么也不改变(连接状况也不变)

    然后从起点跑一边最短路即可

    因为数据范围很小

    所以用了朴素版的迪杰斯塔拉

    原谅我不会写英文
    #include<cstdio>
    #include<iostream>
    using namespace std;
    int rel[101][101];
    int map[101][101];
    int dis[101];
    int visit[101];
    int main()
    {
    	int n,m;
    	scanf("%d%d",&n,&m);
    	int a,b;
    	for(int i=1;i<=m;i++)
    	{
    		scanf("%d%d",&a,&b);
    		scanf("%d",&map[a][b]);
    		map[b][a]=map[a][b];
    		rel[a][b]=rel[b][a]=1;
    	}
    	int d;
    	scanf("%d",&d);
    	for(int i=1;i<=d;i++)
    	{
    		scanf("%d%d",&a,&b);
    		rel[a][b]=rel[b][a]=2;
    	}
    	scanf("%d%d",&a,&b);
    	for(int i=1;i<=n;i++)
    		dis[i]=0x7ffffff;
    	dis[a]=0;
    	for(int i=1;i<=n;i++)
    	{
    		int maxn=0x7fffffff,k;
    		for(int j=1;j<=n;j++)
    			if(dis[j]<maxn&&!visit[j])
    			{
    				maxn=dis[j];
    				k=j;
    			}
    		visit[k]=true;
    		for(int j=1;j<=n;j++)
    		{
    			if(rel[k][j]==0)
    				continue;
    			if(rel[k][j]==1)
    				dis[j]=dis[k];
    			if(rel[k][j]==2)
    				dis[j]=min(dis[j],dis[k]+map[k][j]);
    		}
    	}
    	printf("%d",dis[b]);
    	return 0;
    }
    
  • 相关阅读:
    winform右键菜单
    IIS添加映射配置
    linux+nginx+python+django环境配置
    ASP.NET获取客户端IP地址
    Ext未定义问题解决
    c#获取硬件信息
    DevExpress GridControl使用方法总结
    CDN技术原理
    Mac搭建nginx+rtmp服务器
    MAXOS安装FFMPEG
  • 原文地址:https://www.cnblogs.com/Lance1ot/p/8505489.html
Copyright © 2011-2022 走看看