Валидатор не пропускает по п.4 ("учитывать скорость"). Она-то учитывается (в качестве параметра Thread.sleep()), но при проверке реальная длительность выполнения метода каждый раз различная: превышение от 1 до 80 ms. Очевидно, что самый простой путь, оказался не самым коротким. Что-то - ни одной мысли, как можно учесть изменяющееся время выполнения метода doStep(), чтобы это могло понравится валидатору... Кто-нибудь может направить в нужную сторону?