
С ++ Золото Мудрец ходит по комнате размера 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;
}
Объяснение:
Считываем матрицу. потом смотрим по каким клеткам ходит мудрец и складываем значения с клеток в отдельную переменную. там, где мудрец побывал, клетку матрицы заменяем на 0.
P. s. Если помогло, жмякните на "Спасибо", пожалуйста.



Для решения этой задачи вам нужно считать входные данные, а затем вычислить сумму золота в клетках, по которым прошел мудрец. Давайте напишем программу на 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]; // Учитываем, что индексы начинаются с 0
}
cout << totalGold << endl; // Выводим сумму золота, собранную мудрецом
return 0;
}
Скопируйте этот код в вашу среду разработки C++ и выполните его, чтобы решить задачу.


Похожие вопросы
Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili