С ++ Золото Мудрец ходит по комнате размера n×m клеток. В каждой клетке комнаты лежит заданное
количество золота. Проходя по клетке мудрец забирает всё золото с неё. Зная план комнаты и маршрут мудреца, посчитайте сколько золота он собрал. В задаче не гарантируется, что мудрец не проходил по одной и той же клетке более одного раза. Входные данные Во входных данных описан план комнаты: сначала количество строк n, затем — количество столбцов m (1≤n≤20,1≤m≤20). Затем записано n строк по m чисел в каждой — количество килограммов золота, которое лежит в данной клетке (число от 0 до 50). Далее записано число x — сколько клеток обошел мудрец. Далее записаны координаты этих клеток (координаты клетки — это два числа: первое определяет номер строки, второе — номер столбца), верхняя левая клетка на плане имеет координаты (1,1), правая нижняя — (n,m). Выходные данные Выведите количество килограммов золота, которое собрал мудрец. Примеры Ввод: 3 3 1 2 3 4 5 6 7 8 9 5 1 1 1 2 1 1 1 2 1 1 вывод: 3Ответы на вопрос
Ответ:
#include <iostream>
#include <vector>
using namespace std;
int main() {
int m, n, x, y;
cin >> m >> n;
int a[m][n];
for (int i = 0; i < m; ++i) {
for(int j = 0; j < n; ++j) {
int v;
cin >> v;
a[i][j] = v;
}
}
int d;
int value = 0;
cin >> d;
for (int i = 0; i < d; ++i) {
cin >> x >> y;
value += a[x - 1][y - 1];
a[x - 1][y - 1] = 0;
}
cout << value;
return 0;
}
Объяснение:
Для решения этой задачи вам нужно сначала создать двумерный массив для хранения количества золота в каждой клетке комнаты. Затем, пройдя по указанным клеткам по заданному маршруту мудреца, вы будете суммировать количество золота из каждой посещенной клетки. Вот пример кода на C++:
cpp#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> room(n, vector<int>(m));
// Заполняем комнату золотом
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
cin >> room[i][j];
}
}
int x;
cin >> x;
int totalGold = 0;
// Считываем координаты посещенных клеток и суммируем золото
for (int i = 0; i < x; ++i) {
int row, col;
cin >> row >> col;
totalGold += room[row - 1][col - 1];
}
cout << totalGold << endl;
return 0;
}
Этот код сначала считывает размеры комнаты и количество золота в каждой клетке. Затем он считывает количество посещенных клеток и их координаты, суммируя количество золота в каждой посещенной клетке. Наконец, выводится общее количество золота, собранное мудрецом.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili
