|
|
|
Задачка
|
|||
|---|---|---|---|
|
#18+
Собсн есть такая задачка: Есть коробки для инструментов и инструменты, которые можно вложить в эти коробки. Максимальное количество мест для инструментов в коробке ограничено, например 4-мя (тоесть в коробке может быть от одного до четырех инструментов). Информация о коробках для инструментов нужно хранить в таблице реляционной БД в произвольном формате. Каждое место для инструментов в коробке имеет ограничения по размеру(например 4-12см.) Необходимо обеспечить возможность наиболее оптимальным способом выбрать с таблицы коробки, в которые можно вложить заданное количество инструментов определенных размеров. Пример: К - коробка И - количество инструментов М - размер мест для инструментов К И М 1 2 (2-6)(0-12) 2 3 (1-4)(0-5)(1-10) 3 3 (4-7)(1-8)(2-9) Необходимо подобрать коробки для трех инструментов размерами: 2, 9, 6 Результат: К3. Собсн как нужно хранить информацию о коробках и как их выбирать ? Модератор: Содержание сообщений Запрещается: # "Коверканье" слов русского языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 16:33 |
|
||
|
Задачка
|
|||
|---|---|---|---|
|
#18+
К1 тоже подходит. Можно впихнуть 9 и 6 размер в место с размером 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 16:58 |
|
||
|
Задачка
|
|||
|---|---|---|---|
|
#18+
maytonК1 тоже подходит. Можно впихнуть 9 и 6 размер в место с размером 12. В каждое место для инструментов можно вложить только один инструмент. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 18:00 |
|
||
|
Задачка
|
|||
|---|---|---|---|
|
#18+
Понятно. А почему задаётся минимальный размер? Тоесть нельзя-ли было записать таблицу коробок так: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 18:07 |
|
||
|
Задачка
|
|||
|---|---|---|---|
|
#18+
maytonПонятно. А почему задаётся минимальный размер? Тоесть нельзя-ли было записать таблицу коробок так: Код: plaintext 1. 2. 3. 4. Ну таово условие задачи(я ее не придумывал)... Как вариант потому, что в местах для инструментов есть фиксаторы, и слишком маленький инструмент нельзя ими зафиксировать. Этот вариант я канешн сам домыслил :) но как говорится из песни слов не выкинешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 18:16 |
|
||
|
Задачка
|
|||
|---|---|---|---|
|
#18+
У тебя в задании написано Код: plaintext 1. CELLS и наполнить её чем-то вроде связав с таблицей коробок BOX CELLS idnminnmaxid_box1261201213142405251102647371838293 Количество инструментов соотв. выбросить как избыточное. Но поскольку твоя задача очень тяготеет к отображению объектов в базу и постановка поиска не совсем типичная то здесь надо отталкиваться от скорости поиска в первую очередь. Если скорость поиска по предложеной мной нормализованной модели будет достаточной то её можно оставить. Если будет тормоз и оптимизация принципиально невозможна из-за модели, то можно использовать твой вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 19:30 |
|
||
|
Задачка
|
|||
|---|---|---|---|
|
#18+
Ну начинать нормализацию до решения задачи как по мне не особо правильно. Да и зачем вообще нужна таблица с ячейками, если в условии указано что количество инструментов в ячейке строго ограничено и равно 4-м? Как по мне, то вполне достаточно такой структуры: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Хотя, если ваша структура вам кажется более уместной, я только за. Единственное что осталось - решить поставленную задачу для такой структуры :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 22:04 |
|
||
|
Задачка
|
|||
|---|---|---|---|
|
#18+
Не можешь написать SQL-запрос? Код: plaintext 1. 2. Можешь еще проверять на количество если план от этого улучшается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.08.2010, 22:40 |
|
||
|
Задачка
|
|||
|---|---|---|---|
|
#18+
toatest2Собсн как нужно хранить информацию о коробках и как их выбирать ? Хранить информацию о коробках в данной постановке задачи вообще не нужно :) Важна только информация о местах: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. А вот как подбирать - это интересный вопрос, расписываемый в толстых книгах. Читайте по словам "задача о рюкзаке", "жадные алгоритмы", "динамическое программирование". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2010, 11:12 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=36788942&tid=1343524]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
173ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 427ms |

| 0 / 0 |
