Kangaroo
bạn là biên đạo múa của 1 rạp xiếc trình diễn nhiều loại vật. cho mỗi hành động bạn chọn ra 2 Kangaroo của 1 số sẵn sàng để nhảy theo hướng dương (ví dụ có thể nhảy đến vô cực dương)
Kangaroo đầu tiên đứng ở vị trí x1 và di chuyển với vận tốc v1 cho mỗi bước nhảy
Kangaroo thứ 2 đứng ở vị trí x2 và di chuyển với vận tốc v2 cho mỗi bước nhảy
bạn hãy chi ra 1 cách để con Kangaroo cùng vị trí và cùng 1 thời gian trong cuộc biểu diễn. nếu có thể trả về YES nếu không thể trả về NO
cho ví dụ Kangaroo 1 đứng ở vị trí x1 = 2 với bước nhảy v1 = 1 và Kangaroo 2 đứng ở ví trí x2 = 1 với bước nhảy v2 = 1 . sau 1 bước nhảy cả 2 con đều ở vị trí x = 3 x1 + v1 = 2 + 1 x2 + v2 = 1 + 2 vì vậy chúng ta trả lời là YES
Miêu tả chức năng
hoàn thành bài toán Kangaroo được cho bên dưới. Nó sẽ trả về là YES nếu nếu chúng có thể ở cùng 1 vị trí và cùng 1 thời gian nếu không trả về NO
Kangaroo có các parameter sau
x1, v1 các số nguyên điểm bắt đầu và bước nhảy của Kangaroo1
x2, v2 các số nguyên điểm bắt đầu và bước nhảy của Kangaroo2
giá trị đầu vào
trên cùng dòng biểu diễn các số nguyên riêng biệt x1, v1 , x2 và v2
ràng buộc
0<=x1 < x2 <= 10000
1<= x1 <= 10000
1<= x2 <= 10000
giá trị đầu ra
In ra giá trị YES nếu chúng cùng 1 vị trí và cùng thời gian nếu không trả về NO
Lưu ý: 2 con Kangaroo phai ở cùng 1 vị trí sau cùng 1 số bước nhảy
ví dụ đầu vào 0
0 3 4 2
ví dụ giá trị đầu ra 0
YES
giải thích
2 con Kangaroo cùng nhảy tuần tự trên 1 vị trí
trên hình rõ rang 2 con Kangaroo gặp nhau cung 1 điểm (vị trí 12) với 4 bước nhảy vì vậy chúng ta in ra YES
giá trị đầu vào 1
0 2 5 3
giá trị đầu ra 1
NO
giải thích
con Kangaroo thứ 2 ở vị trí xuất phát trước ( hướng về bên phải) con Kangaroo 1 (x2 > x1). bởi vì con Kangaroo 2 di chuyển nhanh hơn có nghĩa (v2 > v1) và đã đi trước con Kangaroo 1. vì vậ con Kangaroo 1 không thể bắt kịp . vì vậy chúng ta in ra NO
php
Kangaroo đầu tiên đứng ở vị trí x1 và di chuyển với vận tốc v1 cho mỗi bước nhảy
Kangaroo thứ 2 đứng ở vị trí x2 và di chuyển với vận tốc v2 cho mỗi bước nhảy
bạn hãy chi ra 1 cách để con Kangaroo cùng vị trí và cùng 1 thời gian trong cuộc biểu diễn. nếu có thể trả về YES nếu không thể trả về NO
cho ví dụ Kangaroo 1 đứng ở vị trí x1 = 2 với bước nhảy v1 = 1 và Kangaroo 2 đứng ở ví trí x2 = 1 với bước nhảy v2 = 1 . sau 1 bước nhảy cả 2 con đều ở vị trí x = 3 x1 + v1 = 2 + 1 x2 + v2 = 1 + 2 vì vậy chúng ta trả lời là YES
Miêu tả chức năng
hoàn thành bài toán Kangaroo được cho bên dưới. Nó sẽ trả về là YES nếu nếu chúng có thể ở cùng 1 vị trí và cùng 1 thời gian nếu không trả về NO
Kangaroo có các parameter sau
x1, v1 các số nguyên điểm bắt đầu và bước nhảy của Kangaroo1
x2, v2 các số nguyên điểm bắt đầu và bước nhảy của Kangaroo2
giá trị đầu vào
trên cùng dòng biểu diễn các số nguyên riêng biệt x1, v1 , x2 và v2
ràng buộc
0<=x1 < x2 <= 10000
1<= x1 <= 10000
1<= x2 <= 10000
giá trị đầu ra
In ra giá trị YES nếu chúng cùng 1 vị trí và cùng thời gian nếu không trả về NO
Lưu ý: 2 con Kangaroo phai ở cùng 1 vị trí sau cùng 1 số bước nhảy
ví dụ đầu vào 0
0 3 4 2
ví dụ giá trị đầu ra 0
YES
giải thích
2 con Kangaroo cùng nhảy tuần tự trên 1 vị trí
trên hình rõ rang 2 con Kangaroo gặp nhau cung 1 điểm (vị trí 12) với 4 bước nhảy vì vậy chúng ta in ra YES
giá trị đầu vào 1
0 2 5 3
giá trị đầu ra 1
NO
giải thích
con Kangaroo thứ 2 ở vị trí xuất phát trước ( hướng về bên phải) con Kangaroo 1 (x2 > x1). bởi vì con Kangaroo 2 di chuyển nhanh hơn có nghĩa (v2 > v1) và đã đi trước con Kangaroo 1. vì vậ con Kangaroo 1 không thể bắt kịp . vì vậy chúng ta in ra NO
php
<?php
// Complete the kangaroo function below.
function kangaroo($x1, $v1, $x2, $v2) {
$catchup = 'NO';
if(($x1 > $x2 && $v1 >= $v2) ||($x1 == $x2 && $v1 > $v2)) {
$catchup = 'NO';
} else if(($x1 < $x2 && $v1 <= $v2) ||($x1 == $x2 && $v1 < $v2)) {
$catchup = 'NO';
} else {
$catchOver = false;
$jump = 0;
while(!$catchOver) {
$jump++;
if($x1 + $v1 * $jump == $x2 + $v2 * $jump) {
$catchup = 'YES';
break;
}
if($x1 < $x2) {
if($x1 + $v1 * $jump > $x2 + $v2 * $jump) {
$catchOver = true;
}
} else {
if($x1 + $v1 * $jump < $x2 + $v2 * $jump) {
$catchOver = true;
}
}
}
}
return $catchup;
}
$fptr = fopen(getenv("OUTPUT_PATH"), "w");
$stdin = fopen("php://stdin", "r");
fscanf($stdin, "%[^\n]", $x1V1X2V2_temp);
$x1V1X2V2 = explode(' ', $x1V1X2V2_temp);
$x1 = intval($x1V1X2V2[0]);
$v1 = intval($x1V1X2V2[1]);
$x2 = intval($x1V1X2V2[2]);
$v2 = intval($x1V1X2V2[3]);
$result = kangaroo($x1, $v1, $x2, $v2);
fwrite($fptr, $result . "\n");
fclose($stdin);
fclose($fptr);
Comments
Post a Comment