这个题是一个最小生成树的问题,用到的prim算法,也算是最基本的问题。把这个题贴出来,算是一个模版。一些需要注意的地方写在代码中了。各位注意一下,多理解一下就可以。我感觉自己在这上面学到了很多的东西。
解题思路: 最小生成树,就是尽可的用最小的代码把各个点连接起来。我们要不断的更新已选各点与其他点的距离,使得下一步的距离最小。有点贪心算法的意思。
原题地址:点击打开链接。
代码如下:
#include<iostream>
#include<stdio.h>
int main()
{
int i,j,k,n,a[101][101];
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
}