藍橋杯省賽模擬試題4 通電問題

2021-10-05 11:39:42 字數 2131 閱讀 3463

問題描述

2023年,全中國實現了戶戶通電。作為一名電力建設者,小明正在幫助一帶一路上的國家通電。

這一次,小明要幫助 n 個村莊通電,其中 1 號村莊正好可以建立乙個發電站,所發的電足夠所有村莊使用。

現在,這 n 個村莊之間都沒有電線相連,小明主要要做的是架設電線連線這些村莊,使得所有村莊都直接或間接的與發電站相通。

小明測量了所有村莊的位置(座標)和高度,如果要連線兩個村莊,小明需要花費兩個村莊之間的座標距離加上高度差的平方,形式化描述為座標為 (x_1, y_1) 高度為 h_1 的村莊與座標為 (x_2, y_2) 高度為 h_2 的村莊之間連線的費用為

sqrt((x_1-x_2)(x_1-x_2)+(y_1-y_2)(y_1-y_2))+(h_1-h_2)*(h_1-h_2)。

在上式中 sqrt 表示取括號內的平方根。請注意括號的位置,高度的計算方式與橫縱座標的計算方式不同。

由於經費有限,請幫助小明計算他至少要花費多少費用才能使這 n 個村莊都通電。

輸入格式

輸入的第一行包含乙個整數 n ,表示村莊的數量。

接下來 n 行,每個三個整數 x, y, h,分別表示乙個村莊的橫、縱座標和高度,其中第乙個村莊可以建立發電站。

輸出格式

輸出一行,包含乙個實數,四捨五入保留 2 位小數,表示答案。

樣例輸入

41 1 3

9 9 7

8 8 6

4 5 4

樣例輸出

17.41

評測用例規模與約定

對於 30% 的評測用例,1 <= n <= 10;

對於 60% 的評測用例,1 <= n <= 100;

對於所有評測用例,1 <= n <= 1000,0 <= x, y, h <= 10000。

答案:

#include

#include

int n;

double cost=0;

struct village

;int

sure

(village *a,village *b,

int la,

int lb)

lb=lb-1;

return lb;}}

return lb;

}double h[

1000][

1000];

intmin

(village a[

],village b,

int la,

int lb)}}

cost=cost+k;

a[la]

=b[mj]

; la++

; lb=

sure

(a,b,la,lb);if

(la==n)

return0;

else

min(a,b,la,lb)

;return0;

}int

main()

a[0]=vi[0]

; b=vi;

la=1;

lb=n;

lb=sure

(a,b,la,lb)

;min

(a,b,la,lb)

;printf

("%.2lf"

,cost)

;return

0;

設定兩個陣列,乙個陣列裡面存放已經使用的元素,另乙個陣列裡面儲存還未使用的元素,然後用二次迴圈求出兩個陣列中的最小值,講使用的陣列放入到已使用裡面,並將其從已使用裡面刪掉

1.將已使用元素從未使用陣列裡面刪除時,注意比較不能僅僅比較一項,應該將橫縱座標同時比較

2.將未使用陣列裡面的元素刪除時,是將所有元素從後往前覆蓋,注意此時for迴圈的始末值,應該是從被刪除元素開始,到最後乙個元素結束,同時記得長度減一,並將長度做為函式返回值,因為不是全域性變數

3.為了支援運算所有資料,把儲存長度的二維陣列放在函式外面

4.將已經使用的元素放在陣列最後一位之後要將陣列長度加一

5.注意涉及到double變數的都要用doouble

藍橋杯省賽模擬試題2 螺旋矩陣

問題描述 對於乙個 n 行 m 列的 我們可以使用螺旋的方式給 依次填上正整數,我們稱填好的 為乙個螺旋矩陣。例如,乙個 4 行 5 列的螺旋矩陣如下 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8 輸入格式 輸入的第一行包含兩個整數 n,m,分...

藍橋杯省賽 螞蟻感冒 模擬

這是一道模擬題 題目 螞蟻感冒 長100厘公尺的細長直桿子上有n只螞蟻。它們的頭有的朝左,有的朝右。每只螞蟻都只能沿著桿子向前爬,速度是1厘公尺 秒。當兩隻螞蟻碰面時,它們會同時掉頭往相反的方向爬行。這些螞蟻中,有1只螞蟻感冒了。並且在和其它螞蟻碰面時,會把感冒傳染給碰到的螞蟻。請你計算,當所有螞蟻...

藍橋杯2023年4月模擬賽部分試題

問題描述 小明和朋友們一起去郊外植樹,他們帶了一些在自己實驗室精心研究出的小樹苗。小明和朋友們一共有n個人,他們經過精心挑選,在一塊空地上每個人挑選了乙個適合植樹的位置,總共n個。他們準備把自己帶的樹苗都植下去。然而,他們遇到了乙個困難 有的樹苗比較大,而有的位置挨太近,導致兩棵樹植下去後會撞在一起...