Задачи на std::map в C++. Часть 6
Дан контейнер std::map с вложенными коллекциями:
std::map<std::string, std::map<std::string, std::vector<int>>> data = {
{"department1", {
{"teamA", {1, 2, 3}},
{"teamB", {4, 5, 6}}
}},
{"department2", {
{"teamC", {7, 8, 9}},
{"teamD", {10, 11, 12}}
}}
};
Найдите команду с максимальной суммой элементов, вернув путь до нее в формате "department/team".
Дан контейнер std::map:
std::map<std::string, std::vector<std::pair<std::string, int>>> transactions = {
{"user1", {{"deposit", 100}, {"withdraw", 50}, {"deposit", 200}}},
{"user2", {{"deposit", 300}, {"withdraw", 100}}}
};
Для каждого пользователя рассчитайте конечный баланс после всех операций.
Дан контейнер std::map:
std::map<std::string, std::map<std::string, int>> graph = {
{"A", {{"B", 5}, {"C", 3}}},
{"B", {{"A", 5}, {"D", 2}, {"E", 4}}},
{"C", {{"A", 3}, {"F", 7}}},
{"D", {{"B", 2}}},
{"E", {{"B", 4}, {"F", 1}}},
{"F", {{"C", 7}, {"E", 1}}}
};
Найдите кратчайший путь от вершины "A" до вершины "F" используя алгоритм Дейкстры.
Дан контейнер std::map:
std::map<std::string, std::map<std::string, std::map<std::string, std::vector<int>>>> nestedMap = {
{"level1", {
{"level2a", {
{"level3a", {1, 2, 3}},
{"level3b", {4, 5, 6}}
}},
{"level2b", {
{"level3c", {7, 8, 9}}
}}
}}
};
Найдите все пути до конечных списков в формате "level1/level2/level3".
Дан контейнер std::map:
std::map<std::string, std::vector<std::pair<long, double>>> timeSeries = {
{"sensor1", {{1000, 25.3}, {2000, 26.1}, {3000, 24.8}}},
{"sensor2", {{1000, 30.5}, {2000, 31.2}, {3000, 29.8}}}
};
Для каждого сенсора найдите среднее значение показаний за все время.
Дан контейнер std::map:
std::map<std::string, std::vector<std::pair<std::string, int>>> hierarchicalData = {
{"IT", {{"John", 5000}, {"Alice", 6000}}},
{"HR", {{"Bob", 4500}, {"Charlie", 4800}}}
};
Найдите департамент с наибольшей средней зарплатой сотрудников.
Дан контейнер std::map:
std::map<std::string, std::vector<std::vector<int>>> multiDimensional = {
{"matrix", {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}}
};
std::vector<std::string> operations = {"transpose", "rotate", "invert"};
Примените все операции из списка "operations" к матрице последовательно.
Дан контейнер std::map:
std::map<int, std::vector<std::pair<std::vector<std::string>, double>>> complexStructure = {
{1, {
{{"apple", "banana"}, 15.5},
{{"orange"}, 8.2}
}},
{2, {
{{"milk", "bread"}, 12.3}
}}
};
Для каждого пользователя найдите общую сумму всех заказов.
Дан контейнер std::map:
std::map<std::string, std::vector<std::tuple<std::string, std::string, int>>> nestedGraph = {
{"graph1", {
{"A", "B", 5},
{"B", "C", 3}
}},
{"graph2", {
{"X", "Y", 2},
{"Y", "Z", 4}
}}
};
Для каждого графа найдите общий вес всех ребер.
Дан контейнер std::map:
struct Node {
int value;
std::vector<Node> children;
};
Node recursiveStructure = {
10,
{
{20, {{30, {}}, {40, {}}}},
{50, {{60, {}}}}
}
};
Найдите сумму всех значений value в древовидной структуре.