Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задачка «Запись кассеты», Никак не въеду как решать 
:(
    Опции темы
000denmoroz000
Дата 28.12.2006, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 5.7.2006

Репутация: нет
Всего: нет



Свалилась тут на меня одна задачка, думаю-думаю,а как решить не знаю.

                                                        Текст задачи

Входной файл: input.txt
Выходной файл: output.txt
Ограничение по времени: 2 секунды
Ограничение по памяти: 64 Mb
Ограничение на размер исходного кода: 50Kb

Коля решил записать с компьютера N песен на двустороннюю аудиокассету с одинаковыми параметрами сторон. Ему известна общая длительность кассеты в минутах. Когда он отобрал N песен с общим временем звучания не больше, чем время звучания кассеты, записать их у него не получилось. Проблема заключалась в том, что одна из песен не поместилась целиком на одну из сторон кассеты. Ваша задача написать программу, которая поможет Коле определить, какие из отобранных им песен нужно записать в полном объеме на одну сторону кассеты, а какие – на вторую. Если этого сделать невозможно, то нужно вывести  ответ:-1. 
Следует учесть, что запись производится без пауз между песнями, а также каждая из песен имеет ненулевую длительность звучания.
Ограничения:
Все числа целые
0 < L =< 120 
0 =< h =< 2, 0 =< m, s < 60
1 =< N =< 5000
Длина самой длинной песни не превышает L минут.
Формат входных данных:
В первой строке входного файла input.txt записано целое четное число L – общая длительность кассеты в минутах. Во второй строке файла содержится число отобранных песен N. Каждая из следующих  N строк содержит длительность песни в одном из следующих форматов:
h:m:s – длительность звучания песни h часов, m минут и s секунд;
m:s – длительность звучания песни m минут и s секунд;
s – длительность звучания песни s – секунд.
Формат выходных данных:
Выходной файл output.txt должен содержать одну либо N строк. Если песни нельзя записать на кассету, то файл должен содержать только одно число: -1. В противном случае файл должен состоять из N строк, в каждую из которых нужно вывести номер стороны кассеты   (1 или 2) для записи i –ой песни. Номера песен соответствуют их порядковым номерам во входном файле. Если решений несколько, то достаточно выдать любое из них.
Пример
input.txt        output.txt                input.txt        output.txt
80            1                    4            -1
4            2                    3    
0:30:0            1                    03:00
20:00            2                    0:3:7
9:03                                2:02
20:00


Жду ваших предложений по решению.
Буду очень благодарен.

Это сообщение отредактировал(а) 000denmoroz000 - 28.12.2006, 11:24
PM MAIL   Вверх
000denmoroz000
Дата 28.12.2006, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 5.7.2006

Репутация: нет
Всего: нет



Мои мысли:
- Хранить все длительности песен в массиве
- Идти по массиву и смотреть:
                         1) Если время текущей записи i < L/2 то добавляем на первую сторону,
                              иначе пропускаем.
                         2) Тоже самое с остальными записями.

Правильно ли это решение - не знаю, т.к. ещё не закодил... smile

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0989 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.