现在的位置: 首页 > 综合 > 正文

哎~水题,还是最小生成树。没想到一遍AC了…

2013年10月02日 ⁄ 综合 ⁄ 共 864字 ⁄ 字号 评论关闭

题目链接:http://openoj.awaysoft.com:8080/judge/contest/view.action?cid=384#problem/J

 

Agri-Net
#include <stdio.h>
#include <string.h>
int dis[110][110];
int vist[110];
int main()
{
    int i,j,t,n;
    while (~scanf("%d",&n))
    {
        __int64 s=0;
        for (i=1;i<=n;i++)
            for (j=1;j<=n;j++)
                scanf("%d",&dis[i][j]);
        memset(vist,0,sizeof(vist));
        vist[1]=1;
        t=n-1;
        while (t--)
        {
            int m=100010;
            int pos;
            for (i=2;i<=n;i++)
                if (!vist[i] && dis[1][i]<m)
                {
                    pos=i;
                    m=dis[1][i];
                }
            vist[pos]=1;
            s+=m;
            for (i=2;i<=n;i++)
                if (!vist[i] && dis[pos][i]<dis[1][i])
                    dis[1][i]=dis[pos][i];
        }
        printf("%I64d\n",s);
    }
    return 0;

 

【上篇】
【下篇】

抱歉!评论已关闭.