problem description
外號叫「豬頭三」的小學生在數學課上,經常遇到兩車相遇或追及的方程題,經過長時間的練習,他發現了許多規律,然而他不懂計算機,他想請你幫忙編寫乙個電腦程式,解決他的問題。
題目的描述是這樣的:甲、乙兩地相距l公里,a車的速度為va公里/小時,b車的速度為vb公里/小時,a車和b車開始時分別在甲、乙兩地,現在兩車同時從甲、乙兩地出發,並且開始計時,兩車到達甲、乙兩地後返回繼續行駛,這樣會有許多次追及或相遇的時候,我們假定稱追及或相遇的時候為「重合」,請輸出「重合」時的時間以及離甲、乙兩地較近地的距離。
input
本題有多個測試資料組,第一行為測試資料組數n,接著是n行資料,每行的資料按順序分別為實數型別的距離、a車的速度、b車的速度以及整數型別的第幾次「重合」的序號數(<=1000)。
output
time=***x.*** dist=xx.***輸出的精度為精確到小數點後三位。
sample input
120.7 90.0 90.0 10
100.5 80.7 69.3 1
sample output
time=12.741 dist=60.350
time=0.670 dist=46.431
①兩岸型:
第n次迎面碰頭相遇,兩人的路程和是(2n-1)s
第n次背面追及相遇,兩人的路程差是(2n-1)s
②單岸型:
第n次迎面碰頭相遇,兩人的路程和為2ns
第n次背面追及相遇,兩人的路程差為2
③環型:
環型主要分兩種情況,一種是甲、乙兩人同地同時反向迎面相遇(不可能背面相遇),
一種是甲、乙兩人同地同時同向背面追及相遇(不可能迎面相遇)。
分開討論如下:
(一)甲、乙兩人從a地同時反向出發:
第n次迎面相遇共走了n圈。
(二)甲、乙兩人從a地同時同向出發:
第n次背面追及相遇,路程差為n圈。
#include #include #include #include #include using namespace std;int main()
sort(dist,dist+j);
x1=va*dist[n];
while(1)
if(l-x1
printf("time=%.3lf dist=%.3lf\n",dist[n],x1);
}return 0;
}
HDU 1275(兩車追及或相遇問題)
每次兩車相遇時和追及到時 即兩車在同一位置 都算作一次 重合 可知兩者的公式為 本題建議使用 scanf 和 printf,cin 和 cout 可能超時 include include include using namespace std const int maxn 1005 double t...
hdu 1713 相遇週期
思路 這題講道理題目有問題,週期應該是天數除以圈數吧。本質的問題還是求兩個週期的最小公倍數,如果換成整數,就很好寫了,問題現在是分數,分數求最小公倍數的,是分子求最小公倍數,分母求最大公約數,然後就是溢位的問題,全用long long來表示。include using namespace std 求...
hdu 1713 相遇週期
思路 這題講道理題目有問題,週期應該是天數除以圈數吧。本質的問題還是求兩個週期的最小公倍數,如果換成整數,就很好寫了,問題現在是分數,分數求最小公倍數的,是分子求最小公倍數,分母求最大公約數,然後就是溢位的問題,全用long long來表示。include using namespace std 求...