Вопрос задан 30.09.2023 в 15:33. Предмет Информатика. Спрашивает Пинаева Елена.

С ++ Золото Мудрец ходит по комнате размера 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 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]; } cout << totalGold << endl; return 0; }

Этот код сначала считывает размеры комнаты и количество золота в каждой клетке. Затем он считывает количество посещенных клеток и их координаты, суммируя количество золота в каждой посещенной клетке. Наконец, выводится общее количество золота, собранное мудрецом.

0 0

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

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

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

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