Вопрос задан 25.06.2023 в 07:27. Предмет Информатика. Спрашивает Зайцев Иван.

С ++ Золото Мудрец ходит по комнате размера 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
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Антонова Таня.

Ответ:

#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. Если помогло, жмякните на "Спасибо", пожалуйста.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для решения этой задачи вам нужно считать входные данные, а затем вычислить сумму золота в клетках, по которым прошел мудрец. Давайте напишем программу на 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++ и выполните его, чтобы решить задачу.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос