|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
А далее - обычный алгоритм: первая линейка цифр по горизонтали (вертикали), несколько обходов этой горизонтали(вертикали), и остановиться в любое время, если образовался прямоугольник нужного размера. Первая линейка может быть произвольной длины. Если кому-то нужно сделать обратный порядок, то нет проблем. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 17:51 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
лучше 1 раз увидеть ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 18:39 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Постарайтесь быть оригинальнее. Классическая имплементации обсуждается в родительском топике. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 19:19 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Алгоритм: Прямоугольник из 4-х точек: xmin и xmax, ymin и ymax Для начальной линейки ymin = ymax Работаем на плоскости. Координаты очередной точки x, y 1 этап – x растёт от xmin. Если x > xmax, то xmax +=1 и переходим на y 2 этап - y уменьшается от ymin Если y < ymin, то ymin -=1 и переходим на x 3 этап - x уменьшается от xmax Если x < xmin, то xmin -=1 и переходим на y 4 этап - y растёт от ymin Если y > ymax, то ymax +=1 и переходим на x Далее этап 1 и т.д. Если x или y «останавливаются» на минимальных или максимальных значениях, то получается прямоугольник. Можно сделать и обратный обход. Можно потом поменять порядок точек, чтобы попасть в "центр" прямоугольника. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 19:27 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
maytonПостарайтесь быть оригинальнее.Критерии? что такое экзотика? Потому что, если "не помнит состояния доски", то что она помнит? свои ходы сал быть тоже не помнит, своё положение тоже не должна помнить. Мутная формулировка, сэр. Или, например минимум, чево она помнит. Например только своё положение, но тогда заранее рассчитывается и зашивается в код. Для экзотики лично я сделал бы по Соколинскому, виток за витком, для экзотики можно с рекурсией, помнятся только текущие размеры прям-ка. Ну и направление во внутрьили наружу. Но время на это тратить неохота. Я бы понял бы ещё, если б это что-то моделировало ... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:00 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Кстати, вот как раз для экзотики начальную точку можно выбрать не угол и не центр. И даже не периметр. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:03 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Главное забыл: для точки с координатами (x, y) ставится число, равное порядковому изменению значений (x, y). Можно начинать с 0, можно начинать с 1. Если нужно, потом переворачиваем всю цепочку чисел. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:05 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
соот-но, по окончании 3го этапа надо сдвигать границу ymin на +1 а по окончании 4го - все остальные границы на -/+1 maytonПостарайтесь быть оригинальнее. Классическая имплементации обсуждается в родительском топике. без математиков разве что проц грузить ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:06 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухсоот-но, по окончании 3го этапа надо сдвигать границу ymin на +1 а по окончании 4го - все остальные границы на -/+1Попробуйте на простых числах и поймёте. Поиск минимума - это уменьшение! Каждый этап заканчивается только одним изменением, а не двумя. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:10 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
один здесь математик, и тот - Usov ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:10 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
exp98один здесь математик, и тот - Usov Остальные в школу не ходили? Математика тут уровня средней школы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:14 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
В принципе для экзотики можно по мере прохождения удалять путь из массива. А выход по исключению)) Ну то есть полудух прав, гонять байты туда-сюда. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:16 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dima T, я не про задачу, про программистов. Оч часто оказывается, что не не ходили. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:20 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
До компа только добрался, немного размышлял на эту тему и пришел к выводу что обычные координаты {x,y} легко преобразуются в номер ячейки спирали. Функция попозже. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:26 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
программисту тут массив не нужен ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:28 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr Sharahovпрограммисту тут массив не нужен это если он yield-ами программирует. Но задача вполне может быть сформулирована и в терминах перестановки элементов массива. Так, чтобы при принятом в языке соглашении о "сначала строках" или "сначала столбцах", переставленный массив "естественным образом" отобразился в прямоугольнике необходимым образом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:33 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr Sharahovпрограммисту тут массив не нуженВот-вот, проверяет пусть тестировщик. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:38 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
exp98Aleksandr Sharahovпрограммисту тут массив не нуженВот-вот, проверяет пусть тестировщик. я имел в виду 21987669 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:44 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухсоот-но, по окончании 3го этапа надо сдвигать границу ymin на +1 а по окончании 4го - все остальные границы на -/+1 maytonПостарайтесь быть оригинальнее. Классическая имплементации обсуждается в родительском топике. без математиков разве что проц грузить Ай.. ты просто не в курсе наших пятничных традиций... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:45 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Кста, вот ещё вариант реализации. Ходы(ф-ции): шаг вправо-влево, шаг вниз-вверх Входной массив: указатели на ф-цию в нужной послед-сти. "бэктрекинг" перестановок, с выполнением условий правильности перест-ки. На 40 эл-тов я наверное не возьмусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:49 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr Sharahovя имел в виду 21987669 Ну вот и реализуй, с поправкой на то, что после каждого ххода меняется нумерация (если конечно есть желание). Кста, ещё 2-поточный вариант: 2 потока делают ходы (т.е. 2 ф-ции) поочерёдно. Но каждому надо проверять, правильный ли ход у "коллеги". ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 20:58 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
exp98Aleksandr Sharahovя имел в виду 21987669 Ну вот и реализуй, с поправкой на то, что после каждого ххода меняется нумерация (если конечно есть желание). Кста, ещё 2-поточный вариант: 2 потока делают ходы (т.е. 2 ф-ции) поочерёдно. Но каждому надо проверять, правильный ли ход у "коллеги". ну и реализовал несколькими способами в предыдущем топике ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 21:14 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr Sharahovexp98пропущено... Вот-вот, проверяет пусть тестировщик. я имел в виду 21987669 это ж оверхед правильно внутри ф-и делать цикл вектор это те же переменные, вы же не предлагаете от переменных отказываться maytonАй.. ты просто не в курсе наших пятничных традиций... да в курсе я ваших пятничных страданий ) взять всё, да и... написать на STL! чтобы .rotate(), .reverse(), sets, sorting и прочие heaps ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 21:20 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr SharahovНаписать функцию f(m,n,i,j), которая при минимальных затратах памяти возвращает номер присвоенный ячейке [i,j] в матрице m*n. Можно и так. 1. Определяем номер слоя как мин. расстояние до границы. 2. Определяем грань (В П Н Л). 3. Тривиально считаем номер. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 21:20 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухAleksandr Sharahovя имел в виду 21987669 это ж оверхед правильно внутри ф-и делать цикл Зависит от задачи: если не нумеруем, а только считаем до нужной ячейки, то как раз не оверхед. Кстати, там и циклы не нужны. Можно вывести формулу. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 21:48 |
|
|
start [/forum/topic.php?fid=16&msg=39872277&tid=1339880]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 281ms |
0 / 0 |