題意:有很多隻螞蟻在一條直線上,每個螞蟻移動速度都是1,并且有一個初始方向。并且當相鄰兩個螞蟻相撞時轉向。現在問t時間後各個螞蟻的位置。
解法:這題的一個緻命技巧就是把兩隻螞蟻的相撞看作是兩隻螞蟻交換穿過對方并且交換螞蟻的編号。這個是很好了解的,類似于實體的完全彈性碰撞。又由于任何兩隻螞蟻的相對位置在這種轉彎的情況下不會改變相對位置,是以我們隻要視作所有螞蟻沒有螞蟻的行動。最後根據位置關系對應到原始的位置關系。最後再做位置判斷的時候檢視是否超出坐标之外即可。
下面給出AC代碼:
題意:有很多隻螞蟻在一條直線上,每個螞蟻移動速度都是1,并且有一個初始方向。并且當相鄰兩個螞蟻相撞時轉向。現在問t時間後各個螞蟻的位置。
解法:這題的一個緻命技巧就是把兩隻螞蟻的相撞看作是兩隻螞蟻交換穿過對方并且交換螞蟻的編号。這個是很好了解的,類似于實體的完全彈性碰撞。又由于任何兩隻螞蟻的相對位置在這種轉彎的情況下不會改變相對位置,是以我們隻要視作所有螞蟻沒有螞蟻的行動。最後根據位置關系對應到原始的位置關系。最後再做位置判斷的時候檢視是否超出坐标之外即可。
下面給出AC代碼: