cứu cần gấp giải bằng C++
An đang chơi trong công viên nhìn thấy hai con thỏ trắng và xám đang nhảy về phía nhau. Vị trí của hai con thỏ có thể được biểu diễn dưới dạng tọa độ nguyên trên một trục số. Con thỏ trắng hiện đang ở vị trí x và con thỏ xám hiện đang ở vị trí y (x<y). Cứ sau mỗi giây, hai con thỏ lại cùng nhảy đến một vị trí khác. Con thỏ trắng nhảy theo hướng dương và độ dài mỗi bước nhảy bằng a1, tức là nếu vị trí hiện tại là x0 thì sau khi nhảy nó sẽ đến vị trí x0+a. Con thỏ xám nhảy theo hướng âm và độ dài mỗi bước nhảy bằng b, tức là nếu vị trí hiện tại là y0 thì sau khi nhảy nó sẽ đến vị trí y0−b.
Ví dụ, giả sử x=0,y=10,a=3 và b =2. Sau giây thứ nhất, mỗi con thỏ sẽ ở vị trí 3 và 8. Sau giây thứ hai, cả hai con thỏ sẽ ở cùng vị trí 6.
Bây giờ An tự hỏi: Liệu hai con thỏ có ở cùng một vị trí vào cùng một thời điểm không? Nếu có thì sẽ mất bao lâu? Bạn hãy giúp An nhé.
Dữ liệu vào
Gồm một dòng chứa 4 số nguyên x,y,a và b (0≤x<y≤1015;1≤a,b≤1015) tương ứng là vị trí hiện tại của con thỏ trắng, vị trí hiện tại của con thỏ xám, độ dài mỗi bước nhảy của con thỏ trắng và độ dài mỗi bước nhảy của con thỏ xám.
Dữ liệu ra
Nếu hai con thỏ không bao giờ đồng thời ở cùng một vị trí thì ghi ra −1. Ngược lại ghi ra một số nguyên duy nhất là số giây mà hai con thỏ sẽ cần để đồng thời ở cùng một vị trí.
Ví dụ dữ liệu vào0 10 3 2
Ví dụ dữ liệu ra2
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
#include <iostream>
using namespace std;
int a, b, c, d, dem;
int main()
{
cin >> a >> b >> c >> d;
while(a < b)
{
a += c;
b -= d;
dem++;
}
if(a == b) cout << dem;
else cout << -1;
return 0;
}
$#khanhtaon$
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin