С++ «Неделя вторая - Контейнер map - Автобусные остановки» #13
Запись от acmades размещена 25.07.2017 в 19:07
Показов 43630
Комментарии 2
|
Продолжаю проходить курс: «Основы разработки на C++: белый пояс» Задача: Реализуйте систему хранения автобусных маршрутов. Вам нужно обрабатывать следующие запросы: NEW_BUS bus stop_count stop1 stop2 ... — добавить маршрут автобуса с названием bus и stop_count остановками с названиями stop1, stop2, ... BUSES_FOR_STOP stop — вывести названия всех маршрутов автобуса, проходящих через остановку stop. STOPS_FOR_BUS bus — вывести названия всех остановок маршрута bus со списком автобусов, на которые можно пересесть на каждой из остановок. ALL_BUSES — вывести список всех маршрутов с остановками. Формат ввода В первой строке ввода содержится количество запросов Q, затем в Q строках следуют описания запросов. Гарантируется, что все названия маршрутов и остановок состоят лишь из латинских букв, цифр и знаков подчёркивания. Для каждого запроса NEW_BUS bus stop_count stop1 stop2 ... гарантируется, что маршрут bus отсутствует, количество остановок больше 0, а после числа stop_count следует именно такое количество названий остановок, причём все названия в каждом списке различны. Формат вывода Для каждого запроса, кроме NEW_BUS, выведите соответствующий ответ на него: На запрос BUSES_FOR_STOP stop выведите через пробел список автобусов, проезжающих через эту остановку, в том порядке, в котором они создавались командами NEW_BUS. Если остановка stop не существует, выведите No stop. На запрос STOPS_FOR_BUS bus выведите описания остановок маршрута bus в отдельных строках в том порядке, в котором они были заданы в соответствующей команде NEW_BUS. Описание каждой остановки stop должно иметь вид Stop stop: bus1 bus2 ..., где bus1 bus2 ... — список автобусов, проезжающих через остановку stop, в порядке, в котором они создавались командами NEW_BUS, за исключением исходного маршрута bus. Если через остановку stop не проезжает ни один автобус, кроме bus, вместо списка автобусов для неё выведите no interchange. Если маршрут bus не существует, выведите No bus. На запрос ALL_BUSES выведите описания всех автобусов в алфавитном порядке. Описание каждого маршрута bus должно иметь вид Bus bus: stop1 stop2 ..., где stop1 stop2 ... — список остановок автобуса bus в порядке, в котором они были заданы в соответствующей команде NEW_BUS. Если автобусы отсутствуют, выведите No buses. Пример Ввод 10 ALL_BUSES BUSES_FOR_STOP Marushkino STOPS_FOR_BUS 32K NEW_BUS 32 3 Tolstopaltsevo Marushkino Vnukovo NEW_BUS 32K 6 Tolstopaltsevo Marushkino Vnukovo Peredelkino Solntsevo Skolkovo BUSES_FOR_STOP Vnukovo NEW_BUS 950 6 Kokoshkino Marushkino Vnukovo Peredelkino Solntsevo Troparyovo NEW_BUS 272 4 Vnukovo Moskovsky Rumyantsevo Troparyovo STOPS_FOR_BUS 272 ALL_BUSES Вывод No buses No stop No bus 32 32K Stop Vnukovo: 32 32K 950 Stop Moskovsky: no interchange Stop Rumyantsevo: no interchange Stop Troparyovo: 950 Bus 272: Vnukovo Moskovsky Rumyantsevo Troparyovo Bus 32: Tolstopaltsevo Marushkino Vnukovo Bus 32K: Tolstopaltsevo Marushkino Vnukovo Peredelkino Solntsevo Skolkovo Bus 950: Kokoshkino Marushkino Vnukovo Peredelkino Solntsevo Troparyovo Моё решение:
| |||||
Размещено в Основы разработки на C++: белый пояс
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 2
Комментарии
-
Запись от Croessmah размещена 26.07.2017 в 23:11
-
Спасибо. Посмотрел решение от Яндекса, у них примерно как у меня. Потихоньку понимаю особенности языка и как там все происходит. find тоже посмотрел, буду изучать библиотеки, документацию. Пока еще мало знаю.
Сообщение от Croessmah
Запись от acmades размещена 27.07.2017 в 09:45


