A国没有高速公路,因此A国的交通很困难。政府意识到了这个问题并且计划建造一些高速公路,以至于可以在不离开高速公路的情况下在任意两座城镇之间行驶。

   A国的城镇编号为1到N, 每条高速公路连接这两个城镇,所有高速公路都可以在两个方向上使用。高速公路可以自由的相互交叉。

   A国政府希望尽量减少最长高速公路的建设时间(使建设的最长的高速公路最短),但是他们要保证每个城镇都可以通过高速公路到达任意一座城镇。

Input

第一个输入的数字T,代表着T组样例。

接下来输入一个N, 代表一共有N个城镇。

然后读入一个N*N的矩阵,第i行第j列代表从i到j高速公路的距离。

Output

对于每个测试用例,您应输出一个包含整数的行,该整数是要构建的最长道路的长度,以便连接所有村庄,并且此值最小。

Sample Input

1

3

0 990 692

990 0 179

692 179 0

Sample Output

692

Hint

   Huge input,scanf is recommended.

上一道题改了两行,重写main函数就过了,真的弟弟.


#include <set>
#include <map>
#include <cmath>
#include <queue>
#include <bitset>
#include <stack>
#include <vector>
#include <string>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm> #define ll long long
#define mm0(a) memset(a,0,sizeof(a))
#define mm(a,b) memset(a,b,sizeof(a))
#define each(a,b,c) for(int a=b;a<=c;a++)
#define de(x) cout << #x << " " << (x) <<endl
//#define de(x) cout <<""
#define rush() int T;scanf("%d",&T);each(kase,1,T)
#define scan(a,b) scanf("%d%d",&a,&b)
#define fin(a) scanf("%d",&a)
#include <iostream> using namespace std; //const int maxn = 400+5;
const int maxn = 2e3+5;
const int INF = 0x3f3f3f3f;
inline int read(){int s=0;char ch=getchar();for(; ch<'0'||ch>'9'; ch=getchar());for(; ch>='0'&&ch<='9'; ch=getchar())s=s*10+ch-'0';return s;} bool vis[maxn];
int lowc[maxn];
int Prim(int cost[][maxn],int n)
{
int ans=0;
memset(vis,false,sizeof(vis));
vis[0]=true;//从0开始的
for(int i=1;i<n;i++)lowc[i]=cost[0][i];
for(int i=1;i<n;i++)
{
int minc=INF;
int p=-1;
for(int j=0;j<n;j++)
{
if(!vis[j]&&minc>lowc[j])
{
minc=lowc[j];
p=j;
}
}
//de(minc);
if(minc==-1)return -1;//又把==敲成一个等号了
if(minc>ans)ans=minc;
vis[p]=true;
for(int j=0;j<n;j++)
{
if(!vis[j]&&lowc[j]>cost[p][j])
lowc[j]=cost[p][j];
} }
return ans;
}
int cost[maxn][maxn];
/*
1 3
0 990 692
990 0 179
692 179 0
*/
int main()
{
rush()
{
int n;
cin>>n;
each(i,0,n-1)
{
each(j,0,n-1)
{
scanf("%d",&cost[i][j]);
}
}
printf("%d\n",Prim(cost,n));
}
}

最新文章

  1. 使用Flexible实现手淘H5页面的终端适配
  2. PYTHON 自动化学习之路
  3. 为您详细比较三个 CSS 预处理器(框架):Sass、LESS 和 Stylus
  4. 《Swift开发指南》
  5. STM32canopen调试
  6. mysql运行参数详解
  7. java基础(59):Eclipse把自动括号匹配改成C++那样的(强迫症,没办法)
  8. Websocket————错误总结
  9. POJ-2152 Fire (树形DP)
  10. PHP 开发中的外围资源性能分析(一)
  11. AlarmManager.setRepeating将不再准确
  12. css float笔记
  13. 【7】学习C++之类的构造函数
  14. react源码第一天
  15. Leetcode 136 Single Number 仅出现一次的数字
  16. SSM知识点与整合之Spring知识点(pom.xml需要依赖的jar或者plugin)
  17. Shell 中test 单中括号[] 双中括号[[]] 的区别
  18. day28Spark
  19. es6(15)--generator
  20. Python 函数参数引用(传值/传址)/copy/deepcopy

热门文章

  1. Centos - php5.4升级到7.1 yum安装
  2. Linux ldd -- 查看可执行文件所依赖的动态链接库
  3. 进程 | 线程 | 当Linux多线程遭遇Linux多进程
  4. https://uwsgi-docs.readthedocs.io/en/latest/Async.html
  5. kotlin创建类的实例
  6. java批量修改指定目录下的文件名
  7. osgViewer应用基础
  8. windows7导入k8s用户证书
  9. Spring Boot Actuator:介绍和使用
  10. 使用apache commons net进行ftp传输