![]() |
|
Модераторы: Poseidon |
![]()
|
|
| AligatorV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
Авиа компания желает осуществлять пассажирские перевозки на ряду рейсов вида Хмельницкий -- некоторый город -- Хмельницкий. Вылет самолета на каждый из рейсов осуществляется ежедневно. Для каждого рейсу известная необходима час выхода самолета на рейс тот час освобождения самолета из рейсу после его возвращения в аэропорт города Хмельницкого. Например, Хмельницкий -- Одесса -- Хмельницкий 15:35 - 18:20, Хмельницкий -- Стамбул -- Хмельницкий 12:50 -- 17:45. Если промежутки времени, необходимые для обслуживания рейсов не пересекаются, то эти рейсы может обслуживать один самолет.
Задача. По данному списку рейсов, которые определены временами начала и окончания обслуживания рейсу, определить наименьшее количество самолетов, которое сможет обслуживать все эти рейсы. Количество рейсов не превышает 1000. Входные данные. В первой ленте входного потока содержится одно число -- количество рейсов. В следующих лентах содержится описание рейсов, по одному в каждой ленте, в виде: время начала - время завершения. Например, 13:20 - 18:10. Значения часов и минут всегда содержат две цифры. Значение времени и знак "-" могут быть отделены некоторым количеством пропусков. Входные данные гарантированно содержат корректное значение часов и минут. Выходные даны. В первую ленту исходного потока вывести единственное число -- наименьшее количество самолетов, которые могут обслуживать все данные рейсы. Пример входных данных: 5 03:50 - 09:10 05:15 - 08:45 08:55 - 12:20 10:15 - 15:35 23:10 - 03:30 Пример выходных данных, которые отвечают входным: 2 |
|||
|
||||
| anwe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 748 Регистрация: 2.9.2006 Репутация: 9 Всего: 23 |
AligatorV, ты уже поднимаешь темы второй раз.
Сделай так. Если у тебя между цифрами и "знаком -" и между цифрами и знаком ":" могут быть пробелы, то берешь первую строку и с ее конца идешь влево пока, не встретишь знак "-". Если между цифрами и ":" нет пробелов, то ищешь до первого пробела. Далее удаляешь лишние пробелы уже во времени (если они есть) функцией delete и преобразовываешь полученное функцией StrToTime во время. Потом переходишь на вторую строку, но только сначала и идешь вправо. Если полученное время больше первого (я думаю в пределах разумного, ну то есть больше нескольких минут и если это учтено задачей И так далее 2-я - 3-я, 3-я - 4-я. |
|||
|
||||
| AligatorV |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 20.11.2006 Репутация: нет Всего: нет |
var j,i,n:integer; st:string; k:word; god,hv:array[1..1000] of byte; function vvod(st1:string):string; var s,st2,st3,st4:string; g,h:integer; begin st2:=''; st3:=''; st4:=''; for k:=1 to length(st1) do if st1[k]<>' ' then st2:=st2+st1[k]; for k:=1 to length(st2) do begin s:=copy(st2,k,1); if s<>' ' then begin st3:=st3+s; break; end; end; writeln(st3); for k:=1 to length(st3) do if st3[k]<>':' then begin st4:=st4+st3[k]; delete(st3,1,1); break; break end; val(st4,god[i],g); delete(st3,1,1); val(st3,hv[i],h); ????чё дальше тут нада???? end; begin readln(n); for i:=1 to n do readln(st); ................ end. Это сообщение отредактировал(а) AligatorV - 25.11.2006, 01:20 |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |