因为英语差劲,只能读一句翻译一句。
题意:
flatopia非常平坦,不幸的是,没有高铁,因此交通是一个难题。政府意识到了这一点,他们计划建一些高铁,这样不用离开高铁系统就能达到任意两个城市。F的城市从1。。N,每条铁路联通两个城市。每条铁路都是直线,每条铁路都能被两个站使用。每条铁路都能够互相穿插,但是一个司机只能选择一条铁路。政府抠门,想建最短的距离铁路,两两联通。输入:T(case数)c1n(3。。500)城市数N lines n个城市之间的距离(1,65536)int型搞定了empty linec2n..
Problem: 2485 User: qq1203456195Memory: 560K Time: 172MSLanguage: C Result: Accepted #include <stdio.h> #include <string.h> #define N 502 #define MAX 999999 int T,n,M[N][N],closet[N],visited[N],mindis,maxdis; int min() { int i,t=0; mindis=MAX; for (i=0;i<n;i++) { if(!visited[i]&&closet[i]<mindis) { mindis=closet[i]; t=i; } } return t; } int main() { int i,j,next; scanf("%d",&T); while (T--) { maxdis=0; //read Info scanf("%d",&n); for (i=0;i<n;i++) for (j=0;j<n;j++) scanf("%d",&M[i][j]); //Prim memset(visited,0,sizeof(visited)); for (i=0;i<n;i++) closet[i]=M[0][i]; visited[0]=1; for (i=1;i<n;i++) { next=min(); maxdis=maxdis>mindis?maxdis:mindis; visited[next]=1; for (j=0;j<n;j++) { if (!visited[j]&&M[next][j]<closet[j]) closet[j]=M[next][j]; } } printf("%d\n",maxdis); } return 1; }
转载于:https://www.cnblogs.com/CheeseZH/archive/2012/04/14/2447043.html
相关资源:数据结构—成绩单生成器