Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Yashman
1 / 3 / 0
Регистрация: 02.07.2011
Сообщений: 90
#1

Нахождение наиболее подходящей последовательности - C++

25.02.2014, 21:13. Просмотров 191. Ответов 1
Метки нет (Все метки)

Здравствуйте! Неоднократно сталкивался с разными задачами, которые, как мне кажется, сводятся к одной и той же. Хотел бы, чтобы кто-нибудь объяснил, как решаются задачи такого типа. Мне не нужен код, главное - принцип. Вот задача (вкратце):
"В аэропорту имеется только одна взлётная полоса. Одновременно на ней НЕ могут находится несколко самолётов. Про все ждущие разрешения на вылет самолёты известны две вещи:
ti – время, которое самолёт проводит на взлётной полосе взлетая;
vi – наибольшее время, которое может пройти до того, как самолёта оторвётся от земли, чтобы успеть к пункту назначения во время.
Найти наибольшее количество самолётов, которые могут во время взлететь.
Пример:
Номер самолёта (i) | ti | vi
______1__________10__5
______2__________7___15
______3__________9___10
______4__________5___11
Первый самолёт вообще не может прийти к пункту назначения во время, так как до того, как самолёт взлетит, должно пройти всего лишь 5 сек., но только на взлёт он тратит 10 сек.
Оптимальный вариант – первым взлетает четвёртый самолёт, тратя 5 сек. на взлёт, затем у второго самолёта остаётся ещё 15 - 5 = 10 сек. до взлёта, он взлетает за 7 секунд и, таким образом, ДВА самолёта успевают улететь. В данном случае других вариантов нет."
Пожалуйста, расскажите, как решать такую задачу?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2014, 21:13     Нахождение наиболее подходящей последовательности
Посмотрите здесь:

В последовательности найти наиболее длинную последовательность подряд идущих нулей C++
Удалить из последовательности первый по порядку элемент, наиболее близкий по значению к среднему арифметическому C++
Найти наибольший элемент в наиболее длинной непрерывной последовательности положительных элементов массива C++
Нахождение наибольшего элемента в последовательности C++
Ввод из файла в массив и нахождение наиболее встречающегося элемента C++
C++ Определить количество символов в наиболее длинной упорядоченной по убыванию последовательности
Нахождение зеркальных чисел в последовательности C++
Нахождение наибольшей возрастающей последовательности в матрице C++
C++ Найти наиболее больший общий делитель для последовательности
C++ Определить 4 наиболее встречаемых числа последовательности
C++ Определить количество чисел в наиболее длинной последовательности состоящей из нулей
Найти сумму элементов наиболее длинной последовательности, не содержащей 0 C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
26.02.2014, 02:33     Нахождение наиболее подходящей последовательности #2
Yashman, можно при вводе сравнить ti, vi и добавить в матрицу.
При ti > vi исключить. Потом отсортировать массив по ti.
Найти минимальный ti. Сравнить его с разностями осталных vi - ti.
За второй самолёт взять максимальную разность, посчитать сколько остаётся времени и т. д.
Хотя правильней будет отсортировать по разностям vi - ti...
Ну на деле видно будет, а то так словами всё легко, да просто.
Yandex
Объявления
26.02.2014, 02:33     Нахождение наиболее подходящей последовательности
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru