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