Niker04
14.04.2023 20:45

Задача Место для фабрики Компания, в которой Вы проходите стажировку в качестве аналитика, планирует начать разработку крупного месторождения ценной руды. План месторождения представляет собой прямоугольник размером M × N, разбитый на единичные квадраты — участки. Геологи оценили запасы руды на каждом из участков.

Прежде чем приступать к разработке месторождения, на территории месторождения необходимо построить обогатительную фабрику. Под площадку для постройки фабрики необходимо отвести квадрат из девяти смежных участков, и добыча руды на этом месте будет невозможна.

Вам поручено первое задание — определить такое место для фабрики, при котором количество не добытой из-за её постройки руды будет минимальным.

Формат входных данных
Первая строка содержит два числа M и N (3 ≤ M, N; M ⋅ N ≤ 106, в 80 % тестов величины M и N не превосходят 100). Далее следуют M строк из N чисел каждая — разведанные запасы руды на каждом участке. Эти числа целые, неотрицательные, не превосходящие 100000.
Формат выходных данных
Выведите единственное число — запасы руды на площадке, которую Вы определили для постройки фабрики.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Foxer20024
25.12.2022 19:37
Var
    a: array [,] of integer;

begin
    var n := ReadlnInteger('n = ');
    var m := ReadlnInteger('m = ');
    var rand := ReadlnInteger('Для ручного ввода нажмите 0');
    
    if rand = 0 then begin
        a := new integer[m, n];
        for var i := 0 to m-1 do
            for var j := 0 to n-1 do
                a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = ');
    end
    else a := MatrixRandom(m, n, 1, 100);
    Println(a);
    
    var b := ArrGen(n, x -> 1);
    for var i := 0 to m-1 do
        for var j := 0 to n-1 do
            if j mod 2 = 0 then
                b[j] := b[j] * a[i, j];
    
    b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println();
end.
0,0(0 оценок)
Ответ:
maksimlymar200
05.07.2021 07:07
#include <iostream> #include <vector> #include <algorithm> #include <numeric> int main() { std::vector<int> arrayOfDummies; for (char answer{0};;) {  std::cout << "You want to enter a rating?" << std::endl;  std::cin >> answer;  if (int value{0}; answer == 'y')  {   std::cout << "Enter rating:";   std::cin >> value;   arrayOfDummies.push_back(value);  }  else break; } std::cout << "Average: " << std::accumulate(arrayOfDummies.begin(), arrayOfDummies.end(), 0) /    arrayOfDummies.size() << std::endl; }
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота