zoukankan      html  css  js  c++  java
  • Jungle Roads

    题意:给你一个点,然后给你这个点可达的点,注意这是双向图

    #include<stdio.h>
    
    const int MAXN=30;
    const int INF=0x7fffffff;
    
    int map[MAXN][MAXN];
    int n,ans;
    int pre[MAXN];
    int dist[MAXN];
    
    void Prim()
    {
        int i,j,k;
        int mn;
        bool p[MAXN];
        for(i=2; i<=n; i++)
        {
            dist[i]=map[1][i];
            pre[i]=1;
            p[i]=false;
        }
        dist[1]=0;
        p[1]=true;
        for(i=1;i<=n-1;i++)
        {
            mn=INF;
            k=0;
            for(j=1;j<=n;j++)
            {
                if(!p[j] && dist[j]<mn)
                {
                    mn=dist[j];
                    k=j;
                }
            }
            if(k==0) return ;
            p[k]=true;
            ans+=dist[k];
            for(j=1;j<=n;j++)
            {
                if(!p[j] && map[k][j]!=INF && dist[j]>map[k][j])
                {
                    dist[j]=map[k][j];
                    pre[j]=k;
                }
            }
        }
    }
    
    int main()
    {
        int i,j,c,t;
        char a,b;
        while(scanf("%d",&n) && n)
        {
            for(i=1; i<MAXN; i++)
                for(j=1; j<MAXN; j++)
                {
                    if(i==j) map[i][j]=0;
                    else map[i][j]=INF;
                }
            getchar();
            for(i=0; i<n-1; i++)
            {
                scanf("%c%d",&a,&t);
                getchar();
                for(j=0; j<t; j++)
                {
                    scanf("%c%d",&b,&c);
                    getchar();
                    map[a-'A'+1][b-'A'+1]=map[b-'A'+1][a-'A'+1]=c;//就是这里单向导致找了很久错
                }
             //   getchar();
            }
            ans=0;
            Prim();
            printf("%d\n",ans);
        }
        return 0;
    }
  • 相关阅读:
    typescript
    heightChatrs
    数组的扩展
    es6函数扩展
    es6变量解构与函数解构
    C++ 编程技巧锦集(二)
    C++ 全排列
    C++ 编程技巧锦集(一)
    [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]列名 'user1' 无效
    2016年天梯赛初赛题集
  • 原文地址:https://www.cnblogs.com/zsboy/p/2628179.html
Copyright © 2011-2022 走看看