POJ 3684 彈性碰撞

2021-09-12 18:26:59 字數 1035 閱讀 2365

碰撞問題。

彈性碰撞交換速度和方向,可以當成兩個質點相互交錯而過,不影響最後的結果,因為只需要排序就可以知道,最低的一定是最先放下的,以此類推。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define up(i,a,b) for(int i=a;i#define dw(i,a,b) for(int i=a;i>b;i--)

#define upd(i,a,b) for(int i=a;i<=b;i++)

#define dwd(i,a,b) for(int i=a;i>=b;i--)

//#define local

typedef

long

long ll;

const

double esp =

1e-6

;const

double pi =

acos(-

1.0)

;const

long

long inf =

0x3f3f3f3f

;using

namespace std;

typedef pair<

int,

int> pir;

const

double g =

10.0

;int c, n,h, r, t;

double

solve

(int t1)

else

return ans;

}int

main()

sort

(ans, ans + n);up

(i,0

, n)

}return0;

}

poj3684(彈性碰撞模型)

題解 兩個球相撞返回,首先如果忽視掉體積,看成質點,那麼相撞返回就可以理解成兩個求擦肩而過,互不影響,就和poj1852螞蟻的思想是一樣的 這樣想就相當於把題目簡化了。然後又由於題目的真實情況,先掉落的球一定是所有球中最下面的乙個,所以對最後求得的資料進行排序即可。include include i...

poj3684(相遇碰撞模型)

translation 將n個半徑為r的球放入乙個圓桶 圓桶口徑剛好放入乙個球 將圓桶豎直放著,最下端距離地面h高度,讓球每隔一秒自由下落,求t時刻各個球距離地面的高度。solution 所有的球都一樣可以忽視它們的碰撞,視為互相穿過繼續運動。這樣就可以分別單獨求出每個球t時刻的高度後排序就是答案了...

POJ 1852 Ants(模擬 彈性碰撞)

題意 在一根長為l厘公尺的水平木棍上有n只螞蟻,它們以每秒1cm s的速度走到木棍一端就會掉下去。現在知道它們起始位置 相對於木棍左端點的距離 但是不知道它們爬行的方向。兩隻螞蟻相遇後,它們會掉頭往反方向走。求所有螞蟻都落下木棍的最短時間和最長時間。如果採用窮舉搜尋的辦法列舉所有螞蟻的初始朝向,那麼...