|
|
|
алгоритм
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, Ну, в такой терминологии я кое-как из кода понял, мне же больше хочется понять физический смысл того, что хранится в переменных :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 00:47 |
|
||
|
алгоритм
|
|||
|---|---|---|---|
|
#18+
В ZeroIndex[i] для каждого AllCycles[i] записывается номеp младшего нулевого бита после первой серии единичных битов. Это первое место, которое может оказаться не занято, после добавления соответствующего подсписка в текущий набор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 00:49 |
|
||
|
алгоритм
|
|||
|---|---|---|---|
|
#18+
balalexvAleksandr Sharahov, Ну, в такой терминологии я кое-как из кода понял, мне же больше хочется понять физический смысл того, что хранится в переменных :). Смысл простой. В начале набора может стоять только подсписок, в котором есть 1. Перебираем их в цикле. При этом каждый раз определяем первую свободную дырку. Для очередной дырки перебираем все подсписки, кот. начинаются с такого элемента. Если подсписок допустим, идем дальше. Повторяем до победного конца. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 00:54 |
|
||
|
алгоритм
|
|||
|---|---|---|---|
|
#18+
Aleksandr Sharahov, Все-таки в 16272074 - самый правильный код. Упрощенная процедура Generate() из 16272101 работает неверно и дает много грязи, т.к. не проверяет допустимость очередного подсписка - это я ужинал, кровь от мозга оттекла наверно. Жалко нельзя тут без помощи модератора удалить сообщение. Если заглянет кто сюда, удалите 16272101 . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 01:17 |
|
||
|
алгоритм
|
|||
|---|---|---|---|
|
#18+
balalexv, Немного погонял на разных данных. Выяснилось, что не совсем верно использовать MaxZeroIndex для определения условия окончания рекурсии, т.к. может оказаться, что все подмассивы, содержащие последний элемент, имеют дырку. Правильнее будет каким-либо способом проверять, что все элементы вошли в текущий набор. Исправленная версия под спойлером. Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 11:18 |
|
||
|
алгоритм
|
|||
|---|---|---|---|
|
#18+
Обращаю внимание на то, что комментарии к данным могут не совсем соответствовать самим данным. Это из-за того, я при экспериментах не всегда правил комментарии. В частности, вижу, что в комментарии стоит цикл {4,6} вместо {4,5}. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2014, 11:28 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38689921&tid=1341302]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 307ms |

| 0 / 0 |
