4667609_ac_766ms_684k.cpp
来自「部分PKU上的源码」· C++ 代码 · 共 55 行
CPP
55 行
#include<iostream>
#define MAXNUM 99999999
using namespace std;
int n;
int map[505][505];
int dis[505];
bool used[505];
int pickmin()
{
int tmin=MAXNUM,re=0;
for(int count=1;count<=n;count++)
{
if(dis[count]<tmin&&used[count]==false)
{
tmin=dis[count];
re=count;
}
}
return re;
}
void prim()
{
memset(used,false,sizeof(used));
int count;
for(count=1;count<=n;count++)
dis[count]=map[1][count];
used[1]=true;
int longness=0;
for(count=1;count<=n-1;count++)
{
int temp=pickmin();
used[temp]=true;
if(dis[temp]>longness) longness=dis[temp];
for(int i=1;i<=n;i++)
{
if(dis[i]>map[temp][i]) dis[i]=map[temp][i];
}
}
cout<<longness<<endl;
}
int main()
{
int testnumber;
cin>>testnumber;
int count;
for(count=0;count<testnumber;count++)
{
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>map[i][j];
prim();
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?