1090. Highways

来源:互联网 发布:matrix矩阵计算器安卓 编辑:程序博客网 时间:2024/04/30 10:41
以前上网看了看,prim算法比较好理解
#include<iostream>using namespace std;int main(){ int t, n, i, j, road[501][501],add, min, max, dist[501]; bool in[501]; cin >> t; while(t--) { cin >> n; for(i = 1; i <= n; i++)  for(j = 1; j <= n; j++)   cin >> road[i][j];   for(i = 1; i <= n; i++)     {     in[i] = false;     dist[i] = 65537;     }     max = 0;     in[0] = true;     for(i = 1; i <=n; i++)       dist[i] = road[1][i];     for(j = 1; j <=n; j++)       {       min = 65537;       for(i = 1; i <=n; i++)        {         if(!in[i]&&dist[i]<min)          {          add = i;          min = dist[i];          }        }      in[add] = true;      for(i = 1; i <=n; i++)        if(!in[i]&&road[add][i] < dist[i])          dist[i] = road[add][i];        if(max < min) max = min;       }     cout << max << endl;    if(t) cout << endl; }}               
      
原创粉丝点击