十六周任務 簡易最短路

2021-09-03 01:26:18 字數 750 閱讀 3855

寒假的時候,acboy要去拜訪很多朋友,恰巧他所有朋友的家都處在座標平面的x軸上。acboy可以任意選擇乙個朋友的家開始訪問,但是每次訪問後他都必須回到出發點,然後才能去訪問下乙個朋友。

比如有4個朋友,對應的x軸座標分別為1, 2, 3, 4。當acboy選擇座標為2的點做為出發點時,則他最終需要的時間為 |1-2|+|2-2|+|3-2|+|4-2| = 4。

現在給出n個朋友的座標,那麼acboy應該怎麼走才會花費時間最少呢?

input

輸入首先是乙個正整數m,表示m個測試例項。每個例項的輸入有2行,首先是乙個正整數n(n <= 500),表示有n個朋友,下一行是n個正整數,表示具體的座標(所有資料均<=10000).

output

對於每乙個測試例項,請輸出訪問完所有朋友所花的最少時間,每個例項的輸出佔一行。

sample input22

2 43

2 4 6

sample output24

ac碼#include#includeusing namespace std;

int main ()

{ int n,m;

int a[505];

scanf("%d",&n);

while(n--)

{ scanf("%d",&m);

for(int i=0;i掌握原理和一定技巧後這道題不是很難。

注意兩點

1.用sort函式將所有的座標點排序。

2.最短從中間開始走。

十六周任務二

對任務及求解方法的描述部分 檔案score.dat 中儲存的是100 名學生的姓名和c 課 高數和英語成績。1 定義學生類,其中包含姓名 c 課 高數和英語成績及總分 均分資料成員,成員函式根據 需要確定。2 讀入這名學生的成績,用物件陣列進行儲存。3 求出各科和總分的最高分。4 請按總分的降序 高...

第十六周任務(二)

include include include using namespace std class student student string nam,double c,double m,double e name nam cpp c math m english e void set strin...

十六周實驗報告 任務一

源程式 include include include using namespace std int main double a 500 t int i,j for i 0 i 500 i infile.close for j 0 j 499 j ofstream outflie ordered ...