public class RandomWalker1 {
public static void main
(String[] args
) { int steps = 0;
int x = 0;
int y = 0;
System.
out.
println("(" + x
+ ", " + y
+ ")");
while ((Math.
abs(x
) + Math.
abs(y
)) < r
) { if (Math.
random() > 0.75) { steps++;
x++;
System.
out.
println("(" + x
+ ", " + y
+ ")"); continue;
}
if (Math.
random() <= 0.75 && Math.
random() > 0.50) { steps++;
x--;
System.
out.
println("(" + x
+ ", " + y
+ ")"); continue;
}
if (Math.
random() <= 0.50 && Math.
random() > 0.25) { steps++;
y++;
System.
out.
println("(" + x
+ ", " + y
+ ")"); continue;
}
if (Math.
random() <= 0.25) { steps++;
y--;
System.
out.
println("(" + x
+ ", " + y
+ ")"); }
}
System.
out.
println("steps = " + steps
);
}
}
cHVibGljIGNsYXNzIFJhbmRvbVdhbGtlcjEgewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIGludCByID0gSW50ZWdlci5wYXJzZUludChhcmdzWzBdKTsKICAgICAgICBpbnQgc3RlcHMgPSAwOwogICAgICAgIGludCB4ID0gMDsKICAgICAgICBpbnQgeSA9IDA7CgogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiKCIgKyB4ICsgIiwgIiArIHkgKyAiKSIpOwoKICAgICAgICB3aGlsZSAoKE1hdGguYWJzKHgpICsgTWF0aC5hYnMoeSkpIDwgcikgewogICAgICAgICAgICBpZiAoTWF0aC5yYW5kb20oKSA+IDAuNzUpIHsKICAgICAgICAgICAgICAgIHN0ZXBzKys7CiAgICAgICAgICAgICAgICB4Kys7CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIigiICsgeCArICIsICIgKyB5ICsgIikiKTsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiMSB2YWwiKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChNYXRoLnJhbmRvbSgpIDw9IDAuNzUgJiYgTWF0aC5yYW5kb20oKSA+IDAuNTApIHsKICAgICAgICAgICAgICAgIHN0ZXBzKys7CiAgICAgICAgICAgICAgICB4LS07CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIigiICsgeCArICIsICIgKyB5ICsgIikiKTsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiNzUgIHZhbCIpOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKE1hdGgucmFuZG9tKCkgPD0gMC41MCAmJiBNYXRoLnJhbmRvbSgpID4gMC4yNSkgewogICAgICAgICAgICAgICAgc3RlcHMrKzsKICAgICAgICAgICAgICAgIHkrKzsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiKCIgKyB4ICsgIiwgIiArIHkgKyAiKSIpOwogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCI1MCB2YWwiKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChNYXRoLnJhbmRvbSgpIDw9IDAuMjUpIHsKICAgICAgICAgICAgICAgIHN0ZXBzKys7CiAgICAgICAgICAgICAgICB5LS07CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oIigiICsgeCArICIsICIgKyB5ICsgIikiKTsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiMjUgdmFsIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJzdGVwcyA9ICIgKyBzdGVwcyk7CgogICAgfQp9