|
Линейный тетрис. Посоветуйте алгоритм заполнения. | ☑ | ||
---|---|---|---|---|
0
Румата
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
|
Начальник отдела просит автоматизацию процесса ) А я пока не понимаю какой алгоритм использовать ) На словах оно вроде не сложно, а вот на деле - другое дело.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |