私はこの問題を解決しています
正の方向 (つまり、正の無限大に向かって) にジャンプする準備ができている数直線上に 2 頭のカンガルーがいます。最初のカンガルーは位置 x1 から始まり、ジャンプごとに v1 メートルの速度で移動します。2 番目のカンガルーは x2 の位置から始まり、ジャンプごとに v2 メートルの速度で移動します。各カンガルーの開始位置と移動率が与えられた場合、同じ場所に同時に着陸するかどうかを判断できますか?
これが私のコードです
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution
{
static String kangaroo(int x1, int v1, int x2, int v2)
{
// Complete this function
String result = new String();
int count = 0;
if(x1 < x2 & v1 < v2)
{
result = "NO";
}
if(x2 < x1 & v2 < v1)
{
result = "NO";
}
int distance1 = 0, distance2 = 0;
if (x1 > x2 & v2 > v1)
{
for (int i = 0; x2 > x1; i++)
{
x1+=v1;
x2+=v2;
if (x1 == x2)
{
result = "YES";
count++;
break;
}
}
}
//else
//{
if (x2 > x1 & v1 > v2)
{
for (int i = 0; x1 > x2; i++)
{
x1+=v1;
x2+=v2;
if ( x1 == x2 )
{
result = "YES";
count++;
break;
}
}
}
//else
//result = "NO";
//}
if (count == 0)
{
result = "NO";
}
return result;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x1 = in.nextInt();
int v1 = in.nextInt();
int x2 = in.nextInt();
int v2 = in.nextInt();
String result = kangaroo(x1, v1, x2, v2);
System.out.println(result);
}
}
入力あり: 0 3 4 2 出力: NO 正しい出力: YES
前もって感謝します
PS - コードの問題を探しています