|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Пятничная экзотическая задачка. Распечатать прямоугольник цифирками по спирали. 123654 Или 123894765 Реализация - чем экзотичнее - тем лучше. Brainfuck. Машина Тьюринга. Perl. Функциональщина. Формула мат-лаба. Чистая функция или грязная. SQL-запрос. Конечные-бесконечне автоматы. Корутины. Вобщем проявите фантазию. Разумеется параметризация должна быть. 2х3 или 3х3.... Gogo кодить!!! Самому отличившемуся - респект. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 18:37 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Я тоже на эту тему задумывался :) Предлагаю чуть упростить задачу: прямоугольник заменяем квадратом, а спираль закручиваем внутрь, т.е. Код: plaintext 1. 2.
Так и код будет красивее и студентам списать не получится. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 18:45 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Квадрат это слишком просто. Прямоугольник 7х3 - вот это вызов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2019, 13:40 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
А что будет сложного в 7:3 ? Или чем сложнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2019, 13:55 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Для квадрата размера N. На неком гипотетическом Logo. выглядело бы так. Код: sql 1. 2. 3. 4. 5.
Это будет просто закрашивание. А нам надо добавить еще учет количества. Тоесть движение черепашки вперед - это еще и закрашивание сиквенсом. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2019, 16:48 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Забавная штука есть Piet. Язык программирования где команды - это цветные квадраты. А растр - это суть исходник. http://www.dangermouse.net/esoteric/piet/samples.html ... |
|||
:
Нравится:
Не нравится:
|
|||
05.10.2019, 17:02 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Я тут подумал что можно попробовать решить другую задачу: имея размер квадрата и координаты ячейки рассчитать ее номер. Каждый квадрат 2N-2 ячеек, где N размер стороны. Отсюда вычисляем первое число квадрата. Далее надо как-то получить N и на каком месте ячейка ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 09:49 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
В топике Тяпничная география мы решали более интересную задачу. Обход плоскости по кривой Гилберта. Кривая интересна тем что расстояние между соседними точками всегда 1 в абсолютном эквиваленте. И любые интервалы отложенные вдоль этой кривой всегда представляют собой композицию квадратов. Причем минимальную. Я обратил внимание тогда что эту кривую часто используют для графического изображения интервалов IP-blocks. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 12:20 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
mayton, тему топика вроде обсуждали уже тут: https://www.sql.ru/forum/1118954-1/obhod-pryamougolnika-po-spirali-poisk-bolee-podhodyashhego-algoritma ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 12:40 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov, Да это клон. Я создал. Как и обещал но с другим смыслом. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 12:57 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
maytonА что будет сложного в 7:3 ? Положение числа 1. При раскрутке из центра. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 13:31 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, а что мешает крутить из угла в центр, уменьшая номера клеток? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 14:20 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
maytonРаспечатать прямоугольник цифирками по спирали. Никаких проблем, даже кодить неинтересно. В обработке изображений алгоритм обхода называется цепным кодом Фримена. Просто идем от верхней левой ячейки и ищем ближайшую пустую по- или против часовой. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 14:42 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovПоложение числа 1. При раскрутке из центра. Строим алгоритм обхода "из угла", потом перенумеровываем в обратном порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 15:08 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Соколинский Борис, там нет пустых и не пустых, они не отличаются. Ну, типа, не спортивно царапать автомобили гвоздиком при подсчете ) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:09 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
не думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль Код: plaintext 1. 2. 3. 4. 5. 6.
да и когда там как-то дохрена для студента тут математикой надо решать построчный перебор и заполнение каждой строки (вектора) с учётом границ, которые сужаются ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:26 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
*когда = кода ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:26 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr Sharahovтам нет пустых и не пустых, они не отличаются. Даже не знаю что сказать. Не могу представить средство разработки в котором невозможно определить, была ли уже заполнена ячейка. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:39 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Соколинский БорисAleksandr Sharahovтам нет пустых и не пустых, они не отличаются. Даже не знаю что сказать. Не могу представить средство разработки в котором невозможно определить, была ли уже заполнена ячейка. Функция которая не помнит состояние доски. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:49 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухне думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль Код: plaintext 1. 2. 3. 4. 5. 6.
да и когда там как-то дохрена для студента тут математикой надо решать построчный перебор и заполнение каждой строки (вектора) с учётом границ, которые сужаютсяЕсли сделать из центра спираль (вместо 2-х на 3 цифры по горизонтали) начиная с 0 и заканчивая 41, то просто меняем очерёдность с 0 - 41 на 41 - 0. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:49 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухне думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль А в чем проблема? Именно так она и построится. Можно и без Фримена, просто вычеркивать заполненные строки/столбцы и менять направление обхода при завершении линмм ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 16:59 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Gennadiy Usovто просто меняем очерёдность с 0 - 41 на 41 - 0. и что это будет? в одной строке всего 7 ячеек, а вы хотите 42 обходить туда-обратно Соколинский БорисМожно и без Фримена, просто вычеркивать заполненные строки/столбцы и менять направление обхода при завершении линмм затык в границах. Они живут своей жизнью. При этом ещё и сокращаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 17:18 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Соколинский Борисполудухне думаю, что алгоритм Фримена поможет распечатать (именно распечатать, а не "обойти изображение") такую спираль А в чем проблема? Именно так она и построится. Можно и без Фримена, просто вычеркивать заполненные строки/столбцы и менять направление обхода при завершении линмм Написать функцию f(m,n,i,j), которая при минимальных затратах памяти возвращает номер присвоенный ячейке [i,j] в матрице m*n. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 17:19 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухGennadiy Usovто просто меняем очерёдность с 0 - 41 на 41 - 0. и что это будет? в одной строке всего 7 ячеек, а вы хотите 42 обходить туда-обратноА если ещё раз взглянуть на картинку (где 42) и подумать. И поставить вместо 41 - 0, вместо 40 - 1, ...., вместо 0 - 41. Что получится? То есть, обход из центра от 0 до 41, а потом меняются цифры в обратном порядке. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 17:39 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Двумерная поверхность по форме напоминающая пирамидку. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 17:42 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#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 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Не, это не экзотично. "Мша и мудведь" интереснее. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 22:01 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
если формулу можно вывести, то её место в макросе вообще ) я сразу сказал про математиков а пока вы предлагаете каждой ячейке вызывать функцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 22:04 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухесли формулу можно вывести, то её место в макросе вообще ) я сразу сказал про математиков а пока вы предлагаете каждой ячейке вызывать функцию. которая считает по формуле ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 22:10 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Да что там спираль! Давайте сразу функцию которая возвращает кривую Гилберта. Можно итератор. По сабжу мой вариант - двухпоточный. И это мать ево не круто. Тематически связано с https://www.sql.ru/forum/1303834/tyapnichnaya-budushhaya-multipotochnost ... |
|||
:
Нравится:
Не нравится:
|
|||
06.10.2019, 22:38 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
maytonДа что там спираль! Давайте сразу функцию которая возвращает кривую Гилберта. Можно итератор. По сабжу мой вариант - двухпоточный. И это мать ево не круто.Я не понял. Со спиралью разобрались? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 06:31 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Написал преобразование обычных координат в спиральные Код: plaintext 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 07:06 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Gennadiy UsovmaytonДа что там спираль! Давайте сразу функцию которая возвращает кривую Гилберта. Можно итератор. По сабжу мой вариант - двухпоточный. И это мать ево не круто.Я не понял. Со спиралью разобрались? Спираль не особо интересна IMHO. Так... Для старта беседы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 07:41 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
переформатировал как лучше? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 12:53 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухпереформатировал как лучше? Код: plaintext 1. 2.
Это не интересно. Нужен прямоугольник n * m. 21987713 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:07 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухпереформатировал как лучше? Код: plaintext 1. 2.
Это ужасно. Оставь как было. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:20 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Соколинский БорисСтроим алгоритм обхода "из угла", потом перенумеровываем в обратном порядке. Отлично. Но при этом цифра 1 вместо центра внезапно оказывается у правого края матрицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:35 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovСоколинский БорисСтроим алгоритм обхода "из угла", потом перенумеровываем в обратном порядке. Отлично. Но при этом цифра 1 вместо центра внезапно оказывается у правого края матрицы. Почему? Вместо 1,2,...,9 сделай 9,8,...,1. Количество чисел заранее известно n*m ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 13:42 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Gennadiy UsovЭто не интересно. Нужен прямоугольник n * m. 21987713 Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 15:16 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Aleksandr Sharahov Код: pascal 1.
Можно проще проверить d >= 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 15:19 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dima T, точно ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 15:24 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Поскольку ьайтон и Барон посчитали-таки пару доп. диапазонов для 2^2048 и 4096, (моя оценка для них 140,79 и 17,605, что почти укладывается в дельту sqrt(Ln x), т.е. почти в одну сигму) то и я подобрел, и отвлёкся от любимых движущихся самолётов и парашютистов. На МЛ, не шедевр, конечно. Всё же непосредственное вычисление координат удобнее, нежели закраска по спирали. Так что не нужно экзотики. Тем не менее. Исходник, конечно подводные камни были, закрыл заплатками Код: javascript 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.
Данные Код: xml 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. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 18:50 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
забыл добавить. Спираль закручивается по часовой от угла А(1,1), при нечётности внутри может остаться строка либо столб. Так вот, если строка, то её заполняю подряд, если столб, то его по псевдоспирали (верх-низ. верх-низ и т.д.). В примерах видно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 18:56 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
exp98, шикарно. Спс. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 18:57 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
exp98На МЛ, не шедевр, конечно. Всё же непосредственное вычисление координат удобнее, нежели закраска по спирали. Так что не нужно экзотики. Тем не менее. Исходник, конечно подводные камни были, закрыл заплатками Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
А почему чехарда с цифрами под 40-45? Подгонка? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 19:53 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Здесь объяснено. exp98внутри может остаться строка либо столб. Так вот, если строка, то её заполняю подряд, если столб, то его по псевдоспирали (верх-низ. верх-низ и т.д.). В даном случае столб [41 43 45 44 42]'. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 20:04 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
exp98Здесь объяснено. exp98внутри может остаться строка либо столб. Так вот, если строка, то её заполняю подряд, если столб, то его по псевдоспирали (верх-низ. верх-низ и т.д.). В даном случае столб [41 43 45 44 42]'.То что "верх-низ. верх-низ" к математике мало имеет отношение. Это несколько иное. Чехарда невозможна. По условию задачи должно быть плавное заполнение последнего участка. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 20:09 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Gennadiy Usov, это не чехарда, это, сказано выше уже, псевдоспираль. Я не читал про плавное заполнение, очень нужно если, возьми вторую половину проги (после else ), и переделай в ней вторую половину сам. Потом напишешь статью про плавное заполнение вертикальных участков. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 20:52 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
exp98Gennadiy Usov, это не чехарда, это, сказано выше уже, псевдоспираль. Я не читал про плавное заполнение, очень нужно если, возьми вторую половину проги (после else ), и переделай в ней вторую половину сам. Потом напишешь статью про плавное заполнение вертикальных участков.Почему горизонтальный участок заполняется нормально, а вертикальный участок заполняется через Ж(вверх-вниз)? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 21:03 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Gennadiy Usov, здесь объяснено В случае возникновения вопросов см. данный пост. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.10.2019, 21:35 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Вариант проще, без экзотики. Исходник Код: javascript 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.
Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 09:49 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dima TПочему? Вместо 1,2,...,9 сделай 9,8,...,1. Потому что в такой матрице невозможно раскрутить спираль от центра без разрывов. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 13:58 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
maytonполудухпереформатировал как лучше? Код: plaintext 1. 2.
Это ужасно. Оставь как было. это ты щас выступил против главного фундамента баз данных - табличной структуры ни много, ни мало смело ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 14:12 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovDima TПочему? Вместо 1,2,...,9 сделай 9,8,...,1. Потому что в такой матрице невозможно раскрутить спираль от центра без разрывов. Почему? Например сторона 7. Было Код: plaintext 1. 2. 3. 4. 5. 6.
Код: plaintext 1. 2. 3. 4. 5. 6.
Или разговор о чем-то другом? ИсходникИсходник тут 21987886 , для обратной выдачи сменить вывод на Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 14:17 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
полудухmaytonпропущено... Это ужасно. Оставь как было. это ты щас выступил против главного фундамента баз данных - табличной структуры ни много, ни мало смело Нет. Я следовал конвенциям от Google/Oracle. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.10.2019, 14:18 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Dima TПочему? Например сторона 7. В оригинальном топике речь шла о неквадратных матрицах. В твоём примере было Код: plaintext 1. 2. 3.
Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.10.2019, 13:50 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Мож уже и было. То же самое в браузере, с выводом на экран, просто побаловаться. Я не умею в динамике управлять шириной кнопок в браузере, это надо наверное через стили. charset="windows-1251" жать в след-щем порядке: [N,M] - много не переварит *new [start] *F5 P.S поля отмеченные * обязательны, остальные необязательны - если, конечно, не интересно. Дважды *new можно только, если клетки не вывелись на экран. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2019, 20:15 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Мысли. 1. Универсальная формула перехода от многомерных координат одномерным. С сохранением относительной стационарности точек. 2. Связь с частотным пространством (Frequency Space) я не очень понял. Но интересно было-бы понять. 3. Прочее. Практические смыслы которые я знал до этого видоса. Кривая гилберта может быть использована для архивации картинок. Есть интересное свойство. Любые две соседние точки отличаются не более чем на 1 в на растянутой кривой и в разложении ее на 2 -3 -4 и более мерные пространства. Грубо говоря расстояние Манхеттена между двумя соседями - всегда равно единице. Еще один смысл - аллокация диапазонов IP адресов и даже IPv6 которые трудно визуально нарисовать зигзагом или спиралью. Но в Гилберт укладывается хорошо. Это практический смысл из топика Географии линк на который я приводил. Есть какая-то связь с кодом Грея. По крайней мере в разности соседних точек гилбертова пространства. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2019, 21:45 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Вот печально известная мадам Лизавета оцифрована мной и обрезана где-то на квадрат 256 на 256 пикселов. Здесь кратность степени двойки нужна для Гильберта. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2019, 23:45 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Некий концептуальный код для перехода от растра к одной длинной линии. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Линия завёрнута в обычный обход слева направо сверху вниз чтоб опять-же иметь возможность ее видеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2019, 23:47 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
maytonГрубо говоря расстояние Манхеттена между двумя соседями - всегда равно единице. точнее так: между последовательными соседями ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2019, 12:18 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Мысли лучше выражать не так вяло. Я всё ждал, когда мэйтон после намеков перейдёт к жипегу. От себя могу сказать. В инете написано (можно поискать), что жипеговские квадратики они (ж-эксперты) линеаризовали диагональным зиг-загом, ожидая, возможно справведливо, что так близкие на плоскости точки чаще будут рядом на прямой, чем когда построчно. И значит будут более коррелированы (стоит читать как более плавные), значит будет меньше скачков, меньше ультракоротких волн в разложении Ф., будет выше сжатие блока при том же качестве. Но у меня есть сомнения в районе диагонали блоков. Ещё есть "блочный эффект" на границах и маленький размер блока (возможно не только по этим 2-м причинам). Возможно (судя только по "мыслям"), в ролике имелось ввиду это. Теперь скорости позволяют. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2019, 13:55 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Я не планировал обсуждать JPEG в этом топике. Да и что в нем обсуждать. Это старая лошадь и мне было-бы интереснее обсуждать его замены. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2019, 14:11 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Тем не менее, связь с волнами для сжатия имхо такая. И, кстати, м.б. одинаково применима для 1-мерного Ф (например, как в жипеге) и для 2-мерного Ф. А то что-то 2-мерное до сих пор в загоне у всех. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2019, 14:23 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
JPEG - это lossy. Я на хабре где-то видел статью где с помощью нейрос-сети прогнозируется цвет пиксела на основе его соседей сверху и слева. При этом ошибка прогноза кодируется отдельно как слой и сжимается. Интересный подход. Я не помню его эффективность и вряд-ли он превышает PNG. Но сами идея интересна. На заре изучения этих методов когда я еще учился в универе у меня была идея - рассматривать lossy сжатие так. Берем картинку и гоним по ней очень грубый ФНЧ с периодом типа половина размера картинки. Детектируем локальный всплеск. Создаем гладкую функцию типа Гаусса (колокольчик) которая должна дать компенсацию для этого всплеска. Накладываем на оригинал. Далее гоним ФНЧ с более высокой частотой. И так далее. Картинка раскладывается на суперпозицию "колокольчиков". Сжатие останавливаем тогда, когда сами решим что детальность изображения достаточна для восприятия или мы не превысили некий коэффциниент полезного соотношения размеров оригинала и вектора колокольчиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2019, 21:13 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Да ни чуть не лучше прогнозирует, чем Байесовы вероятности. Конечно, если сетка не вычисляет что-нить типа "градиентов освещённости". Зато 100пудов тормозиловей. А если градиенты, то и область применимости ограничена естественными сценами. А пока ты Гауссов мучал, перешли на вейвлеты - в принципе, те же "пачки" Ф. или гладкий Хаар. Всё уже давно придумано за нас. К тому же у Ф. одна из самых быстрых скорость сходимости. Автоматические показатели качества изображения - отдельная и нелёгкая задача. Хорошо, когда есть оригинал. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2019, 23:27 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Я когда думал о колокольчиках - про вейвлеты и слыхом ни слыхал. Да и был это кажется 1996 год. А первый работающий кодек от LuraWave был анонсирован где-то в 2000х. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2019, 23:36 |
|
Ну что... с пятницей чтоли
|
|||
---|---|---|---|
#18+
Вот. Чисто случайно нашел пример из книги THE FIRST 10 PROLOG PROGRAMMING CONTESTS По заданию - рисует спираль. Сорян за плохое форматирование. Из PDF не удается грамотно скопировать в clipboard. Код: python 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2019, 09:45 |
|
|
start [/forum/topic.php?all=1&fid=16&tid=1339880]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
168ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
94ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 316ms |
0 / 0 |