Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Линейный тетрис. Посоветуйте алгоритм заполнения.

Линейный тетрис. Посоветуйте алгоритм заполнения.
Я
   Румата
 
03.07.18 - 12:26
Доброго времени суток. Есть табличное поле, по горизонтали количество колонок в табличном поле - количество дней между начальной и конечной датой. Начальную и конечную дату выбирает пользователь. По вертикали количество строк всегда одинаковое - 120.
120 - 12-ть 5-ти секундных интервалов (минута) в периодичности 10 минут.
===============================
Есть документ с подчиненным ему регистром сведений, который закрашивает клетки. В регистре хранится дата, и координата по вертикали, которую надо закрасить. Один документ закрашивает ни одну клетку, а временные интервалы. При чем высота закрашиваемой полоски может быть больше одной клетки (1 клетка - 5 секунд, 2 клетки - 10 секунд и т.д.). Так же в документе прописывается частота выхода (1 раз в минуту, 1 раз в 2 минуты, 1 раз в 5 минут и 1 раз в 10 минут). Исходя из частоты выхода полоски повторяются, если например 1 раз в минуту, то будет 10 полосок, если 1 раз в 5 минут, то две и т.д.
==============================
Задача стоит чтобы оптимальным образом расположить закрашенные полоски, чтобы при попытке добавить ещё один документ алгоритм постарался передвинуть интервалы, не нарушая логики и воткнул на отображаемую диаграмму новый документ.
==============================
Есть мысли ? ) Спасибо заранее... ;)
 
 
   Зуекщмшср
 
1 - 03.07.18 - 12:34
Линии погрузки/разгрузки автоматизируете, что ли?
   Вафель
 
2 - 03.07.18 - 12:35
рисунок чтоли бы нарисовал
   Румата
 
3 - 03.07.18 - 12:35
Нет, размещение рекламы. Продолжительность ролика - 5, 10, 15, 20 и т.д. секунд.
   Румата
 
4 - 03.07.18 - 12:36
(Вафель) Рисунок есть, как его сюда кинуть ?
   Вафель
 
5 - 03.07.18 - 12:37
(4) кинь куданибудь, а сюда ссылку
   Румата
 
6 - 03.07.18 - 12:38
   Вафель
 
7 - 03.07.18 - 12:39
(6) Это то что должно быть?
   Румата
 
8 - 03.07.18 - 12:45
(Вафель) Все что на рисунке уже реализовано в 1С. Теперь если звонит клиент менеджеру и говорит что он хочет разместить рекламу с такой-то то даты по такую и продолжительностью ролика например 10 секунд (2 клетки по вертикали) программа должна проанализировать свободные клетки, если надо передвинуть полоски с учетом периодичности выхода в эфир (1 раз в минуту, 1 раз в 2 минуты) и нарисовать ещё одну полоску для нового ролика, если его размещение возможно ...
   Малыш Джон
 
9 - 03.07.18 - 12:47
(0) условия противоречивые

если группировать так, чтобы в случае добавления нового, можно было просто сдвинуть старое, тогда старое изначально нужно группировать с учетом "резерва" места под новое, а это уже не оптимально на этапе формирования старого. Т.е. с каждым новым документом оптимальная конфигурация будет всякий раз разная, что не позволит её изменять просто сдвиганием.
   Румата
 
10 - 03.07.18 - 13:13
(Малыш Джон) Нельзя изначально правильно сгруппировать, т.к. не понятно какой интервал по времени, какой продолжительностью и с какой периодичностью следующий клиент закажет ролик. По логике вроде надо все занятый полоски рисовать без пропуска, чтобы осталось больше места для размещения следующего контента , но может случится так, что полоски надо будет передвинуть, чтобы следующий ролик поместился. Если надо могу пример придумать когда должна сработать логика размещения, а не просто их все вместе группировать без пропусков и все будет хорошо )
 
 Рекламное место пустует
   Малыш Джон
 
11 - 03.07.18 - 13:26
(10) так я ж тебе это и написал. У тебя же не останавливается процесс. Поэтому и подобрать оптимальный вариант нельзя. Сейчас подберешь, а следующий ролик будет такой, что тебе весь оптимальный вариант придется переделывать.

у тебя критерии задачи не определены. тебе надо сформулировать точнее(для себя, в первую очередь), что именно надо, а потом уже пытаться придумать алгоритм. А сейчас ты время просто теряешь.
   Румата
 
12 - 03.07.18 - 15:33
(Малыш Джон) Я уже сформулировал. Надо чтобы при попытке засунуть новый ролик программа автоматически подбирала не занятое место для него, передвигая остальные, если это необходимо. И говорила о невозможности размещения ролика, если размещение его не удалось.
   Малыш Джон
 
13 - 03.07.18 - 15:48
(12)  ну это же не критерий - расположить так, чтоб меньше двигать.
Распределяй значит разные куски как можно равномернее между вертикальными строками, тогда по горизонтали будет свободного места больше оставаться, далее сможешь кусок побольше впихнуть.
   Румата
 
14 - 03.07.18 - 15:52
Начальник отдела просит автоматизацию процесса ) А я пока не понимаю какой алгоритм использовать ) На словах оно вроде не сложно, а вот на деле - другое дело.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует