thafnhlong / hackerrank-storage

0 stars 0 forks source link

https://www.hackerrank.com/challenges/sherlock-and-moving-tiles #31

Open thafnhlong opened 2 years ago

thafnhlong commented 2 years ago

Cạnh X và Y sẽ trượt với tốc độ là V = S*sin45 ; Với hình vuông có tốc độ nhanh hơn thì sẽ cách xa gốc tọa độ hơn. Nghĩa là nó sẽ đè lên hình vuông có tốc độ chậm hơn.

Do dó diện tích bị đè cũng chính là diện tích mà có độ dài cạnh là chênh lệch của vị trí phải trên của hình vuông chậm (L + VminT) và vị trí trái dưới của hình vuông nhanh (Vmax T) như hình vẽ

image

T=0: Area = L*L
T=1: Độ dài 1 cạnh = L+Vmin*1 - Vmax*1 
T=2: Độ dài 1 cạnh = L+Vmin*2 - Vmax*2 

T, Độ dài 1 cạnh = L + (Vmin-Vmax)*T

vậy T = ( L - Sqrt(Area) ) / ( sin45 * abs(S1-S2) )

Lưu ý: Đề bài có Constraints: L = 1e9 => Area = 1e18, lưu dạng int sẽ tràn số