DeY Гость
|
Добавлено: Пт Дек 31 2004 18:59 Заголовок сообщения: Задачка!!! |
|
|
Есть вот такаю, на мой взгляд интересная, задачка, над которой могут подумать как истенные математики, так и програмисты!
Имеется последовательность A={a1, a2, a3, a4, a5, ..., an}(1<=n<=50), где аk(1<=k<=n) 0 или 1. Найти количество вариантов которыми можно из поледовальности B={1, 1, 1,..., 1}(B имеет n одиничек) перейти к последовательности A, если за один ход разрешаеться выбрать любой елемент последовательности, и если он равен 1 заменить его на 0, а если - 0, то заменить на 0 первую одиничку, которая встретится при проходе од даной позиции вправо, причем если проход дошел до конца, то он продолжается с первого елмента(так, если бы елементы последовательности были расположены по кругу). P.S. Алгоритм должен быть таковым, что бы при даных ограничениях програмка занимала меньше секунды процесорного времени. |
|