手打一遍 2012騰訊馬拉松 賽車 題目

2021-06-09 15:26:45 字數 1711 閱讀 4835

最終結果是ra ... 因為沒考慮給出條件重疊的情況...下面是題目和**

ps:車速初始為0.

輸入:第一行為乙個數cases,用來描述有多少組資料。

對於每組測試資料,首先為乙個數 n (0<=n<=50) 表示

有 n個速度限制的三元組(s,t,d) 其中0<=s<=100,0<=t<=t,0<=d<=1000

接下來為兩個正整數t a,用來描述比賽總時長和汽車的最大加速度。其中0<=t<=1000,0<=a<=25

輸出:對於每個測試資料,輸出古哥可能行駛的最遠距離,精確到0.0001。

樣例輸入: 2

0998 1

210 10 10

20 30 20

50 1

樣例輸出:

498002.0000

700.0000

/*input放在test.txt裡,或者在程式裡修改檔名*/

#include #include #include #include #include #include #define out &

using namespace std;

float t = 0.0; // 比賽時間

float a = 0.0; // 加速度

struct limit

bool operator > (const limit &limit) const

};// 僅算距離,輸出新速度,t為時間段

float distance(float currspeed, float t, float out newspeed)

// 限制段外,受最大速度限制的距離,t為時間段

float distancelimited(float currspeed, float t, float limitspeed)

// 限制段內,算距離,t為時間段,要更改current speed

float distancelimitedinarea(float out currspeed, limit limit)

// 段內可能超過限制情況

else if (stmp > limit.s)

return result;

}void print(list&limits)

else if (newspeed > (*it).s)

timepoint = (*it).t; // 更新當前時間點

result += tmpdistance;

// 限制段內計算

if (currspeed < (*it).s)

else if (currspeed == (*it).s)

timepoint += (*it).d;

result += tmpdistance; // 更新當前時間點

}// 剩餘時間

float ttmp = t - timepoint;

if (ttmp > 0.0)

printf("%f\n", result);

}int main()

limits.sort();

getline(file, linebuffer);

stringstream ssta(linebuffer);

ssta >> t >> a;

// 輸出結果

print(limits);}}

}return 0;

}

第一遍部落格

踏入程式猿一年的感想 想著現在,回憶已前,實在是好的太多太多了,但總感覺有點不足 常常在想人都是這樣的,都想往高處走 但是你要有這個能力才行。心總是在動盪,但最終還是要學會怎麼去改變,改變自己!2014年人生的乙個起點,當時還在工廠上班對於現實的不滿,工作中種種不順,不屈服現在的狀態,想在後面找到新...

每天來一遍雞湯

1 清醒時做事,糊塗時讀書,大怒時睡覺,獨處時思考。2 話別說太滿,人別熟太快。3 人前不應該說的話,背後也別說。4 在最憤怒時忍住最傷人對方的那句話。6 學會控制自己的情緒,將每種情緒的感受記錄下來,幫助自己認知情緒。7 不要吝嗇你的讚美和表達愛意的語言。8 把 聽明白了嗎 換成 我說明白了嗎 9...

記憶一遍一遍,總是牽扯著已經過去的過去

qq個性簽名 記憶一遍一遍,總是牽扯著已經過去的過去.白紙上寫滿了你的名字 忍不了痛苦,就見不到幸福 愛情是壹個精心設計的謊言 我微笑時,是因為我想妳了 笑容背後總有與之相反的傷 壹句對不起,不足以被原諒 壹曲醉生夢死壹場酣暢淋漓 想說太多,又不知從何說起 愛恨放在心裡眼裡,曬出溫暖 我討厭不安和懷...