Московская олимпиада по информатике - 2005: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 494:
Далее основная логика программы укладывается буквально в несколько строк:
for(i=1;i<=K;i++) {
Tup.push(i); //изначально все тупики свободны
Строка 500:
//обрабатываем очередную прибывающую электричку
for(i=1;i<=N;i++) {
while ((!Tr.empty())&&(Tr.top().outtime<in_time)) {
//отправляем электрички
Строка 508:
if(Tup.empty()) {
//свободных тупиков нет: организовать движение нельзя
return 0;
}
Строка 519:
//выводим результат
for(i=1;i<=N;i++) {
}
(Мы не используем здесь для организации вводы/вывода библиотеку iostream, поскольку это значительно замедлило бы выполнение программы.)
Мы использовали дополнительный массив a для хранения номеров тупиков, в которые прибывают электрички. Мы не можем выводить их сразу, поскольку может оказаться, что по данному расписанию движение организовать нельзя.
|