Ну так, первый -- это откат к пред идущему, затем в случае если этот пред идущий и перед ним пред идущие заданы в условии я еще откатываю, ну а последний -- это просто откат на еще одну позицию, чтобы i осталось не на той позиции на которой была, а на пред идущей. Не уловил =((
Free_ze: Сам код написан в первой части. Часть кода где сокращаются кандидаты работает корректно. Код начинает зацикливаться почему то не сразу а на 22 или 23 цикле. А дебаггером проверять невероятно долго, ну или я просто не умею им пользоваться