class Test {
public static void main
(String[] args
) { double fails = 0;
for (int j = 0; j < 10000; j++) {
int[] seatsTaken = new int[100];
int random = newRandom();
//first passenger
seatsTaken[random] = 1;
//every passenger except first and last
for (int i = 1; i < 99; i++) {
if (seatsTaken[i] == 0)
seatsTaken[i] = 1;
else {
while (seatsTaken[random] == 1)
random = newRandom();
seatsTaken[random] = 1;
}
}
//last passenger
if (seatsTaken[99] == 1) fails++;
}
System.
out.
println(fails
/10000); }
public static int newRandom() {
return (int)(Math.
random() * 100); }
}
Y2xhc3MgVGVzdCB7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CgkJZG91YmxlIGZhaWxzID0gMDsKCQlmb3IgKGludCBqID0gMDsgaiA8IDEwMDAwOyBqKyspIHsKCQkJaW50W10gc2VhdHNUYWtlbiA9IG5ldyBpbnRbMTAwXTsKCQkJaW50IHJhbmRvbSA9IG5ld1JhbmRvbSgpOwoJCQkvL2ZpcnN0IHBhc3NlbmdlcgoJCQlzZWF0c1Rha2VuW3JhbmRvbV0gPSAxOwoJCQkvL2V2ZXJ5IHBhc3NlbmdlciBleGNlcHQgZmlyc3QgYW5kIGxhc3QKCQkJZm9yIChpbnQgaSA9IDE7IGkgPCA5OTsgaSsrKSB7CgkJCQlpZiAoc2VhdHNUYWtlbltpXSA9PSAwKQoJCQkJCXNlYXRzVGFrZW5baV0gPSAxOwoJCQkJZWxzZSB7CgkJCQkJd2hpbGUgKHNlYXRzVGFrZW5bcmFuZG9tXSA9PSAxKQoJCQkJCQlyYW5kb20gPSBuZXdSYW5kb20oKTsKCQkJCQlzZWF0c1Rha2VuW3JhbmRvbV0gPSAxOwoJCQkJfQoJCQl9CgkJCS8vbGFzdCBwYXNzZW5nZXIKCQkJaWYgKHNlYXRzVGFrZW5bOTldID09IDEpIGZhaWxzKys7CgkJfQoJCVN5c3RlbS5vdXQucHJpbnRsbihmYWlscy8xMDAwMCk7Cgl9CgoJcHVibGljIHN0YXRpYyBpbnQgbmV3UmFuZG9tKCkgewoJCXJldHVybiAoaW50KShNYXRoLnJhbmRvbSgpICogMTAwKTsKCX0KfQ==