zoukankan      html  css  js  c++  java
  • {POJ}{2421}{Constructing Roads}{Prim}

    基本MST思路

    #include<iostream>
    using namespace std;
    #define MAX 10000
    #define INF 999999
    int g[MAX][MAX],visit[MAX],dist[MAX];
    int nv,ne,sum;
    int prim()
    {
    	int i,j,tmp,mark_pos,mark_min;
    	sum = 0;
    	for(i = 1;i<=nv;++i)
    	{
    		dist[i] = INF;
    		visit[i] = 0;
    	}
    	dist[1] = 0;
    	for(i=1;i<=nv;++i)
    	{
    		mark_min = INF;
    		for(j=1;j<=nv;++j)
    			if(!visit[j]&&mark_min>dist[j])
    			{
    				mark_min = dist[j];
    				mark_pos = j;
    			}
    		visit[mark_pos] = 1;
    		sum+=dist[mark_pos];
    		for(j=1;j<=nv;++j)
    			if(!visit[j]&&dist[j] > g[mark_pos][j])
    				dist[j] = g[mark_pos][j];
    	}
    	return sum;
    }
    int main()
    {
    	int i,j,tmp,b,a;
    	scanf("%d",&nv);
    	for(i=1;i<=nv;++i)
    		for(j=1;j<=nv;++j)
    			scanf("%d",&g[i][j]);
    	scanf("%d",&ne);
    	for(i=1;i<=ne;++i)
    	{
    		scanf("%d%d",&a,&b);
    		g[a][b] = g[b][a] = 0;
    	}
    	tmp = prim();
    	printf("%d\n",tmp);
    
  • 相关阅读:
    C#-获取页面源代码
    C#-获取页面源代码
    C#-窗体移动
    C#-窗体移动
    C#-窗体鼠标穿透
    C#-窗体鼠标穿透
    C#-string生成图片
    C#-string生成图片
    C#-Stmp发邮件
    POJ-1611 The Suspects
  • 原文地址:https://www.cnblogs.com/lvpengms/p/2505781.html
Copyright © 2011-2022 走看看