ВУЗ:
Составители:
Рубрика:
30
1
10 2
х о
@ х
х @
о @
o
Рис 3
brbwwrrbwbbrbwwrrbwbbrbwwrrbwb
Рассмотрим точку разрыва, расположенную между
бусинками с номера k и k+1 (1<=k<=N) или между бусинками N
и 1 (k=N), и положим i=k+N. Возьмем i-ый элемент массива А и
будем двигаться от него влево, «снимая» бусинки , до тех пор,
пока это возможно. Затем , аналогичным образом , будем
двигаться от элемента (i+1) вправо. Сложив число бусинок,
«снятых» при движении влево, и число бусинок, «снятых» при
движении вправо, мы получим общее число снимаемых бусинок
для данной точки разрыва.
Рассмотрим, однако, следующий вырожденный случай
бус: когда в них совсем нет либо красных, либо голубых
бусинок. В этом случае с бус можно снять все бусинки и
необходимо предупредить какой-либо «барьер» для нашего
продвижения. Этим «барьером», например, может служить
проверка того , что номер анализируемого элемента массива А
принадлежит диапазону [i-N+1..i+N-1], так как выход из этого
диапазона как раз и означает «вырожденность» бус.
1 2
101 2 1012
A: array [1..3*N] of char
i-N, при mov=-1 i
i+N, при mov=+1
Рис 4
Страницы
- « первая
- ‹ предыдущая
- …
- 28
- 29
- 30
- 31
- 32
- …
- следующая ›
- последняя »
