powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ну что... с пятницей чтоли
25 сообщений из 94, страница 2 из 4
Ну что... с пятницей чтоли
    #39872237
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А далее - обычный алгоритм:

первая линейка цифр по горизонтали (вертикали),
несколько обходов этой горизонтали(вертикали),
и остановиться в любое время, если образовался прямоугольник нужного размера.

Первая линейка может быть произвольной длины.

Если кому-то нужно сделать обратный порядок, то нет проблем.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872242
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лучше 1 раз увидеть
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872252
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Постарайтесь быть оригинальнее.

Классическая имплементации обсуждается в родительском топике.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872257
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алгоритм:

Прямоугольник из 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 «останавливаются» на минимальных или максимальных значениях,
то получается прямоугольник.

Можно сделать и обратный обход.

Можно потом поменять порядок точек, чтобы попасть в "центр" прямоугольника.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872264
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПостарайтесь быть оригинальнее.Критерии? что такое экзотика?
Потому что, если "не помнит состояния доски", то что она помнит? свои ходы сал быть тоже не помнит, своё положение тоже не должна помнить. Мутная формулировка, сэр.

Или, например минимум, чево она помнит. Например только своё положение, но тогда заранее рассчитывается и зашивается в код. Для экзотики лично я сделал бы по Соколинскому, виток за витком, для экзотики можно с рекурсией, помнятся только текущие размеры прям-ка. Ну и направление во внутрьили наружу. Но время на это тратить неохота. Я бы понял бы ещё, если б это что-то моделировало ...
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872269
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, вот как раз для экзотики начальную точку можно выбрать не угол и не центр. И даже не периметр.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872271
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Главное забыл:

для точки с координатами (x, y) ставится число, равное порядковому изменению значений (x, y).

Можно начинать с 0, можно начинать с 1.

Если нужно, потом переворачиваем всю цепочку чисел.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872272
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
соот-но, по окончании 3го этапа надо сдвигать границу ymin на +1
а по окончании 4го - все остальные границы на -/+1
maytonПостарайтесь быть оригинальнее.

Классическая имплементации обсуждается в родительском топике.
без математиков разве что проц грузить
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872273
Gennadiy Usov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
полудухсоот-но, по окончании 3го этапа надо сдвигать границу ymin на +1
а по окончании 4го - все остальные границы на -/+1Попробуйте на простых числах и поймёте.

Поиск минимума - это уменьшение!

Каждый этап заканчивается только одним изменением, а не двумя.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872274
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
один здесь математик, и тот - Usov
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872275
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98один здесь математик, и тот - Usov
Остальные в школу не ходили? Математика тут уровня средней школы.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872276
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе для экзотики можно по мере прохождения удалять путь из массива. А выход по исключению)) Ну то есть полудух прав, гонять байты туда-сюда.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872277
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T, я не про задачу, про программистов. Оч часто оказывается, что не не ходили.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872280
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
До компа только добрался, немного размышлял на эту тему и пришел к выводу что обычные координаты {x,y} легко преобразуются в номер ячейки спирали. Функция попозже.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872285
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
программисту тут массив не нужен
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872287
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovпрограммисту тут массив не нужен
это если он yield-ами программирует.
Но задача вполне может быть сформулирована и в терминах перестановки элементов массива.
Так, чтобы при принятом в языке соглашении о "сначала строках" или "сначала столбцах",
переставленный массив "естественным образом" отобразился в прямоугольнике необходимым образом.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872289
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovпрограммисту тут массив не нуженВот-вот, проверяет пусть тестировщик.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872292
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98Aleksandr Sharahovпрограммисту тут массив не нуженВот-вот, проверяет пусть тестировщик.

я имел в виду 21987669
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872294
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухсоот-но, по окончании 3го этапа надо сдвигать границу ymin на +1
а по окончании 4го - все остальные границы на -/+1
maytonПостарайтесь быть оригинальнее.

Классическая имплементации обсуждается в родительском топике.
без математиков разве что проц грузить
Ай.. ты просто не в курсе наших пятничных традиций...
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872298
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кста, вот ещё вариант реализации.
Ходы(ф-ции): шаг вправо-влево, шаг вниз-вверх
Входной массив: указатели на ф-цию в нужной послед-сти.

"бэктрекинг" перестановок, с выполнением условий правильности перест-ки. На 40 эл-тов я наверное не возьмусь.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872305
exp98
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovя имел в виду 21987669 Ну вот и реализуй, с поправкой на то, что после каждого ххода меняется нумерация (если конечно есть желание).

Кста, ещё 2-поточный вариант: 2 потока делают ходы (т.е. 2 ф-ции) поочерёдно. Но каждому надо проверять, правильный ли ход у "коллеги".
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872313
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
exp98Aleksandr Sharahovя имел в виду 21987669 Ну вот и реализуй, с поправкой на то, что после каждого ххода меняется нумерация (если конечно есть желание).

Кста, ещё 2-поточный вариант: 2 потока делают ходы (т.е. 2 ф-ции) поочерёдно. Но каждому надо проверять, правильный ли ход у "коллеги".

ну и реализовал несколькими способами в предыдущем топике )
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872315
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr Sharahovexp98пропущено...
Вот-вот, проверяет пусть тестировщик.

я имел в виду 21987669
это ж оверхед
правильно внутри ф-и делать цикл
вектор это те же переменные, вы же не предлагаете от переменных отказываться
maytonАй.. ты просто не в курсе наших пятничных традиций...
да в курсе я ваших пятничных страданий )
взять всё, да и... написать на STL!
чтобы .rotate(), .reverse(), sets, sorting и прочие heaps
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872317
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksandr SharahovНаписать функцию f(m,n,i,j), которая при минимальных затратах памяти
возвращает номер присвоенный ячейке [i,j] в матрице m*n. Можно и так.
1. Определяем номер слоя как мин. расстояние до границы.
2. Определяем грань (В П Н Л).
3. Тривиально считаем номер.
...
Рейтинг: 0 / 0
Ну что... с пятницей чтоли
    #39872329
Aleksandr Sharahov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухAleksandr Sharahovя имел в виду 21987669
это ж оверхед
правильно внутри ф-и делать цикл

Зависит от задачи: если не нумеруем, а только считаем до нужной ячейки, то как раз не оверхед.
Кстати, там и циклы не нужны. Можно вывести формулу.
...
Рейтинг: 0 / 0
25 сообщений из 94, страница 2 из 4
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ну что... с пятницей чтоли
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]