43470

Транспортная задача. Общая постановка, цели, задачи.

Курсовая

Информатика, кибернетика и программирование

В общей постановке транспортная задача состоит в отыскании оптимального плана перевозок некоторого однородного груза с баз потребителям . Различают два типа транспортных задач: но критерию стоимости план перевозок оптимален если достигнут минимум затрат на его реализацию и по критерию времени план оптимален если на его реализацию затрачивается минимум времени. План перевозок с указанием запасов и потребностей удобно записывать в виде следующей таблицы называемой таблицей перевозок: Пункты Отправления Пункты назначения Запасы ...

Русский

2013-11-05

723 KB

50 чел.

Курсовая работа

На тему: Транспортная задача

Выполнил студент 641 взвода
Федоров Александр Андреевич


Транспортная задача. Общая постановка, цели, задачи. Основные типы, виды моделей.

Под названием “транспортная задача” объединяется широкий круг задач с единой математической моделью. Данные задачи относятся к задачам линейного программирования и могут быть решены симплексным методом. Однако матрица системы ограничений транспортной задачи настолько своеобразна, что для ее решения разработаны специальные методы. Эти методы, как и симплексный метод, позволяют найти начальное опорное решение, а затем, улучшая его, получить оптимальное решение.

В общей постановке транспортная задача состоит в отыскании оптимального плана перевозок некоторого однородного груза с баз  потребителям .

Различают два типа транспортных задач: но критерию стоимости (план перевозок оптимален, если достигнут минимум затрат на его реализацию) и по критерию времени (план оптимален, если на его реализацию затрачивается минимум времени).

Обозначим количество груза, имеющегося на каждой из  баз(запасы), соответственно,а общее количество имеющегося в наличии груза–:

;

заказы каждого из потребителей (потребности) обозначим соответственно, а общее количество потребностей – :

,

Тогда при условии

мы имеем закрытую модель, а при условии

– открытую модель транспортной задачи.

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

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

План перевозок с указанием запасов и потребностей удобно записывать в виде следующей таблицы, называемой таблицей перевозок:

Пункты

Отправления

Пункты назначения

Запасы

Потребности

или

Условие  или  означает, с какой задачей мы имеем дело, с закрытой моделью или открытой моделью транспортной задачи. Переменное  означает количество груза, перевозимого с базы  потребителю : совокупность этих величин образует матрицу (матрицу перевозок).

Очевидно, переменные  должны удовлетворять условиям:

Система (2.1) содержит  уравнений с  неизвестными. Её особенность состоит в том, что коэффициенты при неизвестных всюду равны единице. Кроме того, все уравнения системы (2.1) могут быть разделены на две группы: первая группа из т первых уравнений (“горизонтальные” уравнения) и вторая группа из п остальных уравнений (“вертикальные” уравнения). В каждом из горизонтальных уравнений содержатся неизвестные с одним и тем же первым индексом  (они образуют одну строку матрицы перевозок), в каждом из вертикальных уравнений содержатся неизвестные с одним и тем же вторым индексом (они образуют один столбец матрицы перевозок). Таким образом, каждая неизвестная встречается в системе (2.1) дважды: в одном и только одном горизонтальном и в одном и только одном вертикальном уравнениях.

Такая структура системы (2.1) позволяет легко установить ее ранг. Действительно, покажем, что совокупность неизвестных, образующих первую строку и первый столбец матрицы перевозок, можно принять в качестве базиса. При таком выборе базиса, по крайней мере, один из двух их индексов равен единице, а, следовательно, свободные неизвестные определяются условием, .Перепишем систему (2.1) в виде

где символы и  означают суммирование по соответствующему индексу. Так, например,

При этом легко заметить, что под символами такого суммирования объединяются только свободные неизвестные (здесь , ).

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

или короче

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

           Так как для закрытой модели транспортной задачи , то полученные нами уравнения (2.2) и (2.2’) одинаковы и, исключив из одного из них неизвестное , мы получим уравнение-тождество 0=0, которое из системы вычеркивается.

Итак, преобразование системы (2.1)  свелось к замене двух уравнений (первого горизонтального и первого вертикального) уравнением (2.2). Остальные уравнения остаются неизменными. Система приняла вид

В системе (2.3) выделен указанный выше базис: базисные неизвестные из первых т уравнений образуют первый столбец матрицы перевозок, а базисные неизвестные остальных уравнений образуют первую строку матрицы перевозок без первого неизвестного  [она входит в первое уравнение системы (2.3)]. В системе (2.3) имеется  уравнений, выделенный базис содержит  неизвестных, а, следовательно, и ранг системы (2.1) .

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

Совокупность тарифов  также образует матрицу, которую можно объединить с матрицей перевозок и данными о запасах и потребностях в одну таблицу:

Пункты

Отправления

Пункты назначения

Запасы

Потребности

или

Сумма всех затрат, т. е. стоимость реализации данного плана перевозок, является линейной функцией переменных :

Требуется в области допустимых решений системы уравнений (2.1) и (2.1.1) найти решение, минимизирующее линейную функцию (2.4).

              Таким образом, мы видим, что транспортная задача является задачей линейного программирования. Для ее решения применяют также симплекс-метод, но в силу специфики задачи здесь можно обойтись без симплекс-таблиц. Решение можно получить путем некоторых преобразований таблицы перевозок. Эти преобразования соответствуют переходу от одного плана перевозок к другому. Но, как и в общем случае, оптимальное решение ищется среди базисных решений. Следовательно, мы будем иметь дело только с базисными (или опорными) планами. Так как в данном случае ранг системы ограничений-уравнений равен  то среди всех  неизвестных  выделяется  базисных  неизвестных,    а   остальные    ·

неизвестных являются свободными. В базисном решении свободные неизвестные равны нулю. Обычно эти нули в таблицу не вписывают, оставляя соответствующие клетки пустыми. Таким образом, в таблице перевозок, представляющей опорный план, мы имеем  заполненных и ·  пустых клеток.

            Для контроля надо проверять, равна ли сумма чисел в заполненных клетках каждой строки таблицы перевозок запасу груза на соответствующей базе, а в каждом столбце — потребности заказчика [этим подтверждается, что данный план является решением системы (2.1)].

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

Замечание 2. Под величинами , очевидно, не обязательно подразумевать только тарифы. Можно также считать их величинами, пропорциональными тарифам, например, расстояниями от баз до потребителей. Если, например, выражены в тоннах, а  в километрах, то величина , определяемая формулой (2.4), является количеством тонно-километров, составляющих объем данного плана перевозок. Очевидно, что затраты на перевозки пропорциональны количеству тонно-километров и, следовательно, будут минимальными при минимуме S. В этом случае вместо матрицы тарифов мы имеем матрицу расстояний.

3. Методы составления начального опорного плана.

Как и в общем случае, решение транспортной задачи начинается с отыскания первого опорного плана (исходного базиса). Мы рассмотрим два наиболее распространенных метода построения такого базиса. Суть обоих этих методов состоит в том, что базисный план составляется последовательно, в несколько шагов (точнее,  шагов). На каждом из этих шагов заполняется одна клетка, притом так, что, либо полностью удовлетворяется один из заказчиков (тот, в столбце которого находится заполняемая клетка), либо полностью вывозится весь запас груза с одной из баз (с той, в строке которой находится заполняемая клетка).

  •  В первом случае мы можем исключить столбец, содержащий заполненную на этом шаге клетку, и считать, что задача свелась к заполнению таблицы с числом столбцов, на единицу меньшим, чем было перед этим шагом, но с тем же количеством строк и с соответственно измененным запасом груза на одной из баз (на той базе, которой был удовлетворен заказчик на данном шаге).
  •  Во втором случае исключается строка, содержащая заполняемую клетку, и считается, что таблица сузилась на одну строку при неизменном количестве столбцов и при соответствующем изменении потребности заказчика, в столбце которого находится заполняемая клетка.

Начиная с первоначально данной таблицы и повторив  раз описанный шаг, мы придем к “таблице”, состоящей из одной строки и одного столбца (иначе говоря, из одной пустой клетки). Другими словами, мы пришли к задаче с одной базой и с одним потребителем, причем потребности этого единственного заказчика равны запасу груза на этой единственной базе. Заполнив последнюю клетку, мы освобождаем последнюю базу и удовлетворяем потребность последнего заказчика. В результате, совершив  шагов, мы и получим искомый опорный план.

Замечание. Может случиться, что уже на некотором (но не на последнем!) шаге потребность очередного заказчика окажется равной запасу груза на очередной базе. Тогда после заполнения очередной клетки объем таблицы как бы одновременно уменьшается на одни столбец и на одну строку. Но и при этом мы должны считать, что уменьшение объема таблицы происходит либо на один столбец, а на базе сохраняется “остаток” равный нулю, либо на одну строку, а у заказчика еще осталась неудовлетворенная “потребность” в количестве нуля единиц груза, которая и удовлетворяется на одном из следующих шагов. Этот нуль (“запас” или “потребностью” – безразлично) надо записать в очередную заполняемую клетку на одном из последующих шагов. Так как при этом оказывается равной нулю одна из базисных неизвестных, то мы имеем дело с вырожденным случаем.

Различие методов отыскания первого опорного плана состоит в различии способов набора заполняемой клетки.

     1.Диагональный метод, или метод северо-западного угла. При этом методе на каждом шаге построения первого опорного плана заполняется левая верхняя клетка (северо-западный угол) оставшейся части таблицы. При таком методе заполнение таблицы начинается с клетки неизвестного  и заканчивается в клетке неизвестного , т. е. идет как бы по диагонали таблицы перевозок.

Пример.

Пункты

Отправления

Пункты назначения

Запасы

70

50

15

80

70

300

170

110

20

80

90

40

60

85

150

80

70

50

10

90

11

25

250

50

200

Потребности

170

110

100

120

200

700

Заполнение таблицы начинается с ее северо-западного угла, т. е. клетки с неизвестным . Первая база  может полностью удовлетворить потребность первого заказчика . Полагая , вписываем это значение в клетку  и исключаем из рассмотрения первый столбец. На базе  остается измененный запас . В оставшейся новой таблице с тремя строками  и четырьмя столбцами ; северо-западным углом будет клетка для неизвестного . Первая база с запасом может полностью удовлетворить потребность второго заказчика . Полагаем , вписываем это значение в клетку  и исключаем из рассмотрения второй столбец. На базе  остается новый остаток (запас) . В оставшейся новой таблице с тремя строками  и тремя столбцами  северо-западным углом будет клетка для неизвестного . Теперь третий заказчик  может принять весь запас с базы . Полагаем , вписываем это значение в клетку  и исключаем из рассмотрения первую строку. У заказчика из осталась еще не удовлетворенной потребность .

Теперь переходим к заполнению клетки для неизвестного  и т.д.

Через шесть шагов у нас останется одна база  с запасом груза (остатком от предыдущего шага) и один пункт  с потребностью. Соответственно этому имеется одна свободная клетка, которую и заполняем, положив . План составлен. Базис образован неизвестными . Правильность составленного плана легко проверить, подсчитав суммы чисел, стоящих в заполненных клетках по строкам и столбцам.

Общий объем перевозок в тонно-километрах для этого плана составит

.

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

Пример.

Пункты

Отправления

Пункты назначения

Запасы

70

50

15

80

70

300

20

100

180

80

90

40

60

85

150

150

50

10

90

11

25

250

110

120

20

Потребности

170

110

100

120

200

700

В данном случае заполнение таблицы начинается с клетки для неизвестного , для которого мы имеем значение , наименьше из всех значений . Эта клетка находится на пересечении третьей строки и второго столбца, соответствующим третьей базе  и второму заказчику . Третья база  может полностью удовлетворить потребность второго заказчика . Полагая , вписываем это значение в клетку  и исключаем из рассмотрения второй столбец. На базе  остается изменённый запас . В оставшейся новой таблице с тремя строками  и четырьмя столбцами  клеткой с наименьшим значением  клетка, где. Заполняем описанным выше способом эту клетку и аналогично заполняем следующие клетки. В результате оказываются заполненными (в приведенной последовательности) следующие клетки:

.

На пятом шаге клеток с наименьшими значениями  оказалось две . Мы заполнили клетку для , положив . Можно было выбрать для заполнения другую клетку, положив , что приведет в результате к другому опорному плану. Общий объем перевозок в тонно-километрах для этого плана составит

.

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

   Кроме рассмотренных выше способов иногда используется, так называемый, метод Фогеля. Суть его состоит в следующем: В распределительной таблице по строкам и столбцам определяется разность между двумя наименьшими тарифами. Отмечается наибольшая разность. Далее в строке (столбце) с наибольшей разностью заполняется клетка с наименьшим тарифом. Строки (столбцы) с нулевым остатком груза в дальнейшем в расчет не принимаются. На каждом этапе загружается только одна клетка. Распределение груза производится, как и ранее.

4.Понятие потенциала и цикла.

Для перехода от одного базиса к другому при решении транспортной задачи используются так называемые циклы.

Циклом пересчета или короче, циклом в таблице перевозок называется последовательность неизвестных, удовлетворяющая следующим условиям:

  1.  Одно из неизвестных последовательности свободное, а все остальные – базисные.
  2.  Каждые два соседних в последовательности неизвестных лежат либо в одном столбце, либо в одной строке.
  3.  Три последовательных неизвестных не могут находиться в одном столбце или в одной строке.
  4.  Если, начиная с какого-либо неизвестного, мы будем последовательно переходить от одного к следующему за ним неизвестному то, через несколько шагов мы вернемся к исходному неизвестному.

Второе условие означает, что у двух соседних неизвестных в цикле либо первые, либо вторые индексы одинаковы.

Если каждые два соседних неизвестных цикла соединить отрезком прямой, то будет получено геометрическое изображение цикла – замкнутая ломаная из чередующихся горизонтальных и вертикальных звеньев, одна из вершин которой находится в свободной клетке, а остальные - в базисных клетках.

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

Так, например, в таблице перевозок, составленной по диагональному методу при решения задачи из предыдущего пункта, неизвестному  соответствует цикл  и т.д.

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

старые значения: ;

новые значения:

Очевидно, если снабдить вершины цикла поочередно знаками “+” и “–“, приписав вершине в свободной клетке знак “+”, то можно сказать, что в вершинах со знаком “+” число  прибавляется к прежнему значению неизвестного, находящегося в этой вершине, а в вершинах со знаком “–“   это число  вычитается из прежнего значения неизвестного, находящегося в этой вершине.

Замечание. Так как число вершин в цикле всегда четно, то, возвращаясь в свободную клетку, мы должны будем приписать ей знак “+”, т. е. тот знак, который ей уже приписан при выходе из нее. Это очень существенное обстоятельство, так как иначе мы пришли бы к противоречию. Безразлично также, в каком направлении обходится цикл при “означивании” вершин.

Если в качестве  выбрать наименьшее из чисел, стоящих в вершинах, снабженных знаком “–“, то, по крайней мере, одно из прежних базисных неизвестных примет значение нуль, и мы можем перевести его в число свободных неизвестных, сделав вместо него базисным то неизвестное, которое было свободным.

Так, например, в рассмотренном выше цикле имеем отрицательные вершины  и ; следовательно, выбрав   , мы получаем:

старые значения: ;

новые значения:

т. е. вместо прежнего базисного решения получаем новое базисное решение:

Пункты

Отправления

Пункты назначения

Запасы

70

50

15

80

70

300

90

110

100

80

90

40

60

85

150

80

70

50

10

90

11

25

250

50

200

Потребности

170

110

100

120

200

700

Выбор в качестве х минимального среди чисел, стоящих в отрицательных вершинах цикла, обеспечивает допустимость нового базиса.

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

Может случиться, что и само минимальное значение среди чисел в отрицательных клетках равно нулю. Тогда преобразование таблицы перевозок сведется к перестановке этого нуля в свободную клетку. Значения всех неизвестных при этом остаются неизменными, но решения считаются различными, так как различны базисы. Оба решения вырождены.

Описанное выше преобразование таблицы перевозок, в результате которого преобразуется базис, называется пересчетом по циклу.

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

Выясним теперь, как пересчет по циклу влияет на общий объем затрат на перевозки и при каком условии эти затраты становятся меньше.

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

Сложим тарифы, соответствующие положительным вершинам цикла, и вычтем из этой суммы сумму тарифов, соответствующих отрицательным вершинам цикла; полученную разность  назовем алгебраической суммой тарифов для данного свободного неизвестного . Подсчет алгебраической суммы тарифов можно истолковать и так: припишем тарифам те же знаки, которые приписаны соответствующим вершинам цикла, тогда алгебраическая сумма тарифов равна сумме таких тарифов со знаком (“относительных тарифов”).

Теперь, очевидно, мы можем, заключить, что в целом при пересчете но циклу, соответствующему свободному неизвестному  общий объем затрат на перевозки изменится на произведение алгебраической суммы тарифов на , т. е. на величину . Следовательно, если алгебраическая сумма тарифов для некоторого свободного неизвестного  отрицательна , то пересчет по циклу, соответствующему этому неизвестному, приводит к уменьшению общей суммы затрат на реализацию плана перевозок. Если же алгебраическая сумма тарифов положительна , то пересчет по соответствующему циклу приведет к увеличению общей суммы затрат. И, наконец, если алгебраическая сумма тарифов равна нулю , то пересчет по соответствующему циклу не изменит общую сумму затрат (два различных базисных плана требуют одинаковых затрат на их реализацию).

Так, например, для цикла  в рассмотренной задаче алгебраическая сумма тарифов

.

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

тогда как по исходному плану он составил . Имеем снижение объема перевозок на 1200 тонно-километров, что и следовало ожидать, так как алгебраическая сумма тарифов в данном случае равна –15, а пересчет по циклу осуществляется с помощью числа  (изменение затрат равно ).

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

,

так что

,

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

Зная потенциалы, легко вычислить алгебраическую сумму тарифов. Действительно, если в алгебраической сумме тарифов по циклу, соответствующему свободному неизвестному , заменить тарифы базисных клеток их выражениями через потенциалы по формулам (4.1), то, в силу чередования знаков при вершинах цикла, все потенциалы,  кроме и  сократятся, и мы получим:

.

Так, например, для цикла  в рассмотренной выше задаче имеем

.

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

называют косвенным тарифом этой клетки. Следовательно, алгебраическая сумма тарифов для свободной клетки  равна разности ее настоящего (“истинного”) и косвенного тарифов:

Из (4.3) следует, что если косвенный тариф для данной свободной клетки больше её истинного тарифа, то алгебраическая сумма тарифов по циклу, соответствующему этой клетке, будет отрицательна; если же косвенный тариф меньше истинного, то алгебраическая сумма тарифов положительна, и, наконец, если косвенный тариф равен истинному, то алгебраическая сумма тарифов равна нулю.

Потенциалы можно найти из системы равенств (4.1), рассматривая их как систему  уравнений с  неизвестными. Так как неизвестных здесь на единицу больше, чем уравнений, то, по крайней мере, один из потенциалов мы можем выбрать произвольно, положив, например, ; тогда остальные потенциалы легко определяются из уравнений(4.1).

Например, для плана, полученного по диагональному методу в рассмотренной выше задаче, имеем

Система содержит семь уравнений с восемью неизвестными. Выбирая произвольно значение , находим последовательно из первых трех уравнений значения , , , затем из четвертого уравнения – , из пятого уравнения – , из шестого уравнения  и, наконец, из седьмого уравнения – .

Положив, например, , получаем значения потенциалов:

 

Найдем теперь косвенные тарифы для свободных клеток и сравним их с истинными тарифами:

Для клеток с неизвестными  и  косвенные тарифы больше истинных. Следовательно, для них мы будемиметь отрицательные алгебраические суммы тарифов:

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

Замечание 1. Подсчитывая косвенные тарифы как суммы соответствующих потенциалов, полезно не пропускать и клетки с базисными неизвестными (заполненные клетки). Для этих клеток сумма потенциалов равна истинному тарифу; последнее может служить проверкой правильности найденных значении потенциалов.

Замечание 2. Можно показать, что если сумму всех затрат по данному плану перевозок выразить через свободные неизвестные [для этого надо исключить базисные неизвестные из выражения для S, см. формулу (2.4)], то коэффициент при каждом из таких неизвестных будет равен алгебраической сумме тарифов по циклу, соответствующему ей в таблице перевозок. Это еще раз подтверждает, что пересчет по циклам является специфической формой применения симплекс-метода к решению транспортной задачи.

Работа с программой

 В файл input1 вводятся данные(вводить лучше через WordPad):

1я строка - потребность в ресурсах

2я строка - запасы ресурсов

3-6 строки - матрица стоимости

Пример:

После занесения данных в файл input1 сохраняемся.

Запускаем файл start.bat. Результат выполнения программы отображается через интерфейс командной строки.


Примеры работы программы:

Пример1:

Input1:

15 20 10 10

19 13 16 11 16

8 28 17 19 11

27 9 10 6 19

29 11 3 7 8

55 6 19 24 13

Результат:

Пример2:

Input1:

10 40 50 70

19 13 16 11 16

28 28 17 19 11

7 9 10 6 19

29 11 9 7 8

55 6 19 14 13

Результат:

Программа работает на компьютере №2 (Инв.№ 01300293)


 

А также другие работы, которые могут Вас заинтересовать

74065. Аналитические группы катионов 15.03 KB
  К I аналитической группе относятся катионы щелочных металлов калия K натрия N лития Li и катион аммония NH4. Вследствие этого катионы данной группы не имеют группового реагента и открывают их только с помощью частных реакций. Перед проведением частных реакций на катионы I аналитической группы ионы других групп удаляют методом осаждения например в виде карбонатов в нейтральной или щелочной среде. Ко II аналитической группе относятся катионы дающие малорастворимые соединения при взаимодействии с соляной кислотой и ее солями.
74066. Государственно-правовое развитие Англии в Новейшее время 121 KB
  Эволюция государства и права в новейшее время. Основные тенденции развития государства и права в ХХ веке. Новейший период в истории государства и права связан с серьезными изменениями в политической системе многих стран обусловленными глубокими социально-экономическими причинами. Основное назначение современного права состоит в том чтобы сохраняя основные устои общества трансформировать его приспособить к новым общественным потребностям.
74067. Соединенные Штаты Америки в Новейшее время 137.5 KB
  Государственное развитие США в Новейшее время. Право США в Новейшее время. Право США в Новейшее время. Особенности государственного развития США в Новейшее время.
74068. Франция в Новейшее время 99 KB
  Развитие государственного устройства Франции в Новейшее время. Право Франции в Новейшее время. Развитие государственного строя в период между двумя мировыми войнами Государственный строй Франции после Первой мировой определялся Конституцией 1875 г. В 30е годы в условиях острого социального и экономического кризиса во Франции активизируется деятельность профашистских организаций...
74069. Государственное развитие Германии в ХХ веке 140.5 KB
  Государственное развитие Германии в ХХ веке. Право Германии в Новейшее время. Революция 1918 года в Германии. Поражение Германии в Первой мировой войне внутренние противоречия влияние событий в России привели к революционному взрыву в ноябре 1918 г.
74070. Государство и право Китая и Японии в Новое и Новейшее время 168 KB
  Парламент Китая под нажимом Юань Шикая совершившего государственный переворот вносит во Временную конституцию изменения целью которых было расширить права президента и ограничить права парламента. еще больше расширили права президента. Провозглашалось равенство граждан перед законом и национальное равноправие гарантировались...
74071. Предмет, методы и основные источники «Истории права зарубежных стран» 48.5 KB
  Предмет методы и основные источники Истории права зарубежных стран. Истоки права. История ПЗС иногда ее называют Всеобщая история государства и права – изучает возникновение оформление и функционирование правовых обычаев и законов а также их последующие изменения у разных народов мира в отдельные периоды от древности до современной эпохи...
74072. Право Древнего Востока 88.5 KB
  Право Древнего Востока. Право Древнего Египта. Право Древнего Вавилона. Это в свою очередь сказалось на застойном характере восточных социальных структур на отсутствии на Востоке условий для развития тех политических и правовых институтов которые были призваны обслуживать нужды нарождавшегося гражданского общества: общественное самоуправление с правами и обязанностями каждого полноправного гражданина правовые гарантии его интересов прав и свобод.
74073. Право Юго-Восточной Азии в античное время 89.5 KB
  Особое место в истории Индии занимает Магадско-Маурийский период (IV-II вв. до н.э.), отмеченный созданием (впервые в истории Индии) объединенного государства - Магатха. Наивысшего могущество оно достигло при правлении династии Маурьев, и особенно, при Чандрагупте I (основателе династии) и Ашоке.