日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ2349+prim

發布時間:2023/12/18 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ2349+prim 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最小生成樹

1 /* 2 prim 3 題意:給定一些點,一些衛星,一個衛星能連接兩個點,點和點之間通信有一定的距離限制。 4 問能使得所有的點聯通的最小距離。 5 */ 6 #include<stdio.h> 7 #include<string.h> 8 #include<stdlib.h> 9 #include<algorithm> 10 #include<iostream> 11 #include<queue> 12 #include<map> 13 #include<stack> 14 #include<set> 15 #include<math.h> 16 using namespace std; 17 typedef long long int64; 18 //typedef __int64 int64; 19 typedef pair<int64,int64> PII; 20 #define MP(a,b) make_pair((a),(b)) 21 const int maxn = 505; 22 const int inf = 0x7fffffff; 23 const double pi=acos(-1.0); 24 const double eps = 1e-8; 25 26 struct Node{ 27 double x,y; 28 }a[ maxn ]; 29 int vis[ maxn ]; 30 double dis[ maxn ]; 31 double mat[ maxn ][ maxn ]; 32 33 double dist( Node a,Node b ){ 34 return sqrt( (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y) ); 35 } 36 37 void init( int n ){ 38 for( int i=1;i<=n;i++ ){ 39 for( int j=1;j<=n;j++ ){ 40 mat[i][j] = dist( a[i],a[j] ); 41 } 42 } 43 return ; 44 } 45 46 void prim( int n ){ 47 for( int i=1;i<=n;i++ ){ 48 vis[ i ] = 0; 49 dis[ i ] = mat[1][i]; 50 } 51 vis[ 1 ] = 1; 52 for( int i=1;i<=n;i++ ){ 53 int M = inf; 54 int id = -1; 55 for( int j=1;j<=n;j++ ){ 56 if( vis[ j ]==0&&M>dis[j] ){ 57 M = dis[ j ]; 58 id = j; 59 } 60 } 61 if( id==-1 ) return ; 62 vis[ id ] = 1; 63 for( int j=1;j<=n;j++ ){ 64 if( vis[j]==0&&dis[j]>mat[ id ][ j ] ){ 65 dis[ j ] = mat[ id ][ j ]; 66 } 67 } 68 } 69 return ; 70 } 71 72 int main(){ 73 int T; 74 scanf("%d",&T); 75 while( T-- ){ 76 int s,n; 77 scanf("%d%d",&s,&n); 78 for( int i=1;i<=n;i++ ) 79 scanf("%lf%lf",&a[i].x,&a[i].y); 80 init( n ); 81 prim( n ); 82 sort( dis+1,dis+1+n ); 83 //for( int i=1;i<=n;i++ ) 84 // printf("%lf ",dis[ i ]); 85 //puts(""); 86 printf("%.2lf\n",dis[ n-s+1 ]); 87 } 88 return 0; 89 } View Code

?

轉載于:https://www.cnblogs.com/xxx0624/p/3268181.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的POJ2349+prim的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。