ACM第四次練習 1002

2021-07-13 12:38:32 字數 606 閱讀 3170

題意:求給定的點之間連通的最小距離。

思路:最小生成樹的演算法,其核心是每次取最短的邊,看該邊相連的兩點是否在同乙個集合內,若在則跳過,若不在,就把兩個點合併,判斷與合併都用並查集實現。

感想:開始的時候將邊初始化成了0,懵逼了~

**:#include

#include

#include

#include

int f[109];

double x[109],y[109];

struct noderoad[10100];

int find(int x)

int cmp(const void *a,const void *b)

int main()

{int n,i,j,k;

double sum;

while(scanf("%d",&n)!=eof)

{for(i=1;i<=n;i++)

f[i]=i;

for(i=1;i<=n;i++)

scanf("%lf%lf",&x[i],&y[i]);

k=0;

for(i=1;i<=n;i++)//把點存到結構體中

for(j=1;j

ACM第四次練習 1011

思路 這是一道最短路問題,可以用dijkstra或spfa解決。求出所有出發的站到所有終點站的最短路徑中的最小值,這樣就重複多次呼叫dijkstra 或 spfa,但如果運用一些技巧就可大大優化,題目中a,b均是大於1的,所以可以在設乙個點作為草兒的家的位置且該點的序號為0,只要把該點與所有始發站之...

ACM第四次練習 1013

題意 先給出了乙個 這個 也表示路程和花費的模板,然後根據這個對下面的問題進行解決,然後第三行給的是n,m,緊接著就是n行,表示的是0到1的距離,0到2的距離,0到3的距離。依次下去。接下來的m行表示的就是要求的起點和終點了。思路 直接用dijkastra就ok了 稍稍做一點點的變形,要注意的本題資...

函式第四次練習

1.編寫函式實現對長度為10的整數陣列利用氣泡排序法進行由小到大排序。通過main 函式呼叫實現函式功能。includevoid bubblesort int a for i 0 i 10 i int main bubblesort a 2.函式,輸入乙個十六進製制數,輸出相應的十進位制數。incl...