Народ! Помогите плз!!!!
Есть небольшой клуб, где будет проходить концерт.
В связи с тем что клуб был реконструирован, его ряды имеют разное количество мест.Экономистам, которые будут продавать билеты на концерт, очень трудно запоминать билеты на какие места были проданы, а какие нет. Но в фирме плохо с финансированием, и вам был выделен компьютер Intel 8088 c 8 Kb ОЗУ. Как что вам надо написать программу так чтобы план зала занимал наименьшее места. Но конечная расстановка мест не известна, известно, что максимум рядов 100, а мест в ряде 30.
Ваша задача:
Составить структуру данных, которая будет хранить план зала используя минимум памяти. Не обязательно реализация её в коде, можно только подробное описание. Логически каждое место в зале может имеет два состояние ЗАНЯТО и СВОБОДНО. Исходя из этого, вам стоит составить программу.
Заранее спасибо.
(** мыслит про себя - volvo, а что если "треугольные", динамические матрицы?)
qwerty, в любом случае, подойдут динамические, прямоугольные матрицы.
FAQ: динамические матрицы.
Цитата(Oleg_Z @ 7.05.05 9:08)
а что если "треугольные", динамические матрицы?
Треугольные здесь не помогут - количество мест в ряду все-равно одинаковое...
Кстати, я бы в этом случае не смотрел в сторону матриц. Выигрыш тут может дать только список... :yes:
(или массив списков... или список списков... )
Цитата
Треугольные здесь не помогут - количество мест в ряду все-равно одинаковое...
Если так тода, я думал это не обязательно.
Видел концертные залы не прямоугольные....
а вот список списков это интересно...
Народ! Количество мест в ряду может быть разное!!! Но max=30.
Вариант с массивами вроде многовато памяти скушает.....
qwerty,
читать умеешь? "Список списков" тебе поможет...
Да вроде еще не разучился...
Можешь поподробней по список списков?? :molitva:
Опиши 2 типа списков: один содержит информацию о посадочных местах, второй - о списках первого типа. Тогда у тебя памяти будет занято ровно столько, сколько необходимо на данный момент...
Нужно добавить купленный билет в каком-то ряду - идешь по списку РЯДОВ, проверяешь, есть ли он (т.е. был ли уже куплен в нем хотя бы один билет, до этого никакой информации о нем ты не хранишь, именно за счет этого и достигается экономия места). Если да, то добавляешь к найденному ряду еще одно место. Если нет - создаешь новый ряд и добавляешь в него место...
СПАСИБО ОГРОМНОЕ ЧТО РАЗЪЯСНИЛ)))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.