Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<map>
- #include<vector>
- using namespace std;
- void new_bus(map<string, vector<string>>& stops) {//создание нового маршрута
- string bus;//строка с номером маршрута
- cin >> bus;
- vector<string> stops_vec;//вектор остановок пустой
- size_t nums;//количество остановок в маршруте
- cin >> nums;
- for (size_t i = 0; i < nums; ++i) {
- string stop;//строка с остановкой
- cin >> stop;
- stops_vec.push_back(stop);//добавляем остановку в конец вектора
- }
- stops[bus] = stops_vec;//присваиваем значение вектора ячейке с номером маршрута
- }
- void buses_for_stop(const map<string, vector<string>>& stops) {
- string stop;//строка с названием остановки
- cin >> stop;
- vector<string> result;
- for (const auto& s : stops) {//итерируемся по всему контейнеру map
- for (const auto& e : s.second) {//итерируемся по вектору остановок для каждого вектора в контейнере
- if (e == stop) {
- result.push_back(s.first);//выводим номер маршрута
- }
- }
- }
- if (result.size() == 0) {
- cout << "No stop\n";
- }
- else {
- for (const auto& s : result) {
- cout << s << ' ';
- }
- cout << endl;
- }
- }
- void stops_for_bus(map<string, vector<string>> stops) {
- string bus;//строка с остановкой
- cin >> bus;
- auto temp = stops;
- map<string, vector<string>> res;
- for (const auto& s : temp) {
- for (const auto& t : s.second) {
- if (t == bus) {
- }
- }
- }
- }
- void all_buses(const map<string, vector<string>>& stops) {//вывод всех автобусов
- if (stops.size() == 0) {
- cout << "No buses\n";
- }
- else {
- for (auto& s : stops) {
- cout << "Bus " << s.first << ": ";
- for (auto& t : s.second) {
- cout << t << ' ';
- }
- cout << '\n';
- }
- }
- }
- int main() {
- map<string, vector<string>> stops;//контейнер с автобусами
- size_t nums;
- cin >> nums;
- for (size_t i = 0; i < nums; ++i) {
- string select;
- cin >> select;
- if (select == "NEW_BUS") {
- new_bus(stops);
- }
- else if (select == "BUSES_FOR_STOP") {
- buses_for_stop(stops);
- }
- else if (select == "STOPS_FOR_BUS") {
- stops_for_bus(stops);
- }
- else if (select == "ALL_BUSES") {
- all_buses(stops);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement