Домино
вася установил на телефон игру, где в каждой клетке полоски размером 2×n записано целое число. цель игры состоит в том, чтобы накрыть часть клеток доминошками размерами 2×1 так, чтобы сумма чисел на не покрытых доминошками клетках была минимальной.
доминошки можно поворачивать горизонтально или вертикально, они не могут накладываться. обязательно использовать все имеющиеся доминошки.
формат входных данных
в первой строке вводится два числа n и k (1 ≤ n ≤ 2×105, 0 ≤ k ≤ 2×105, 0 ≤ n × k ≤ 2 × 105, n ≥ k) — размер полоски и количество имеющихся доминошек.
в следующих n строках вводятся по 2 целых числа, записанных на полоске. числа не превосходят 109 по модулю.
формат результата
выведите n строк по 2 числа в каждой — описание расположения доминошек на полоске. каждая клетка должна описываться либо числом от 1 до k — номером доминошки, которой она накрыта, либо числом 0, в случае, если она не накрыта доминошкой.
если ответов несколько — выведите любой из них.
В оглавлении произведения, разбитого на части, разделы, подразделы, главы, подглавы, параграфы, подпараграфы, примечания и т. п., устанавливающие соподчиненность отдельных частей произведения, последовательно приводятся наименования частей, разделов, глав, параграфов в полном объёме, так, как они даны в тексте, и указываются страницы, на которых начинается рубрика. Рубрики последней ступени — подзаголовки, взятые в тексте рукописи в подбор, — в оглавлении могут не приводиться. Взаимоподчиненность частей произведения в оглавлении передают средствами полиграфического оформления: выделением в красную строку, шрифт
begin
var a:=MatrixRandom(7,7,0,9);
var k:=0;
for var i:=0 to 6 do begin
for var j:=0 to 6 do begin
Write(a[i,j]:3);
if a[i,j] in [1..5] then Inc(k)
end;
Writeln
end;
Writeln('Кол-во элементов на [1,5]: ',k)
end.
Тестовое решение:
2 1 7 3 3 2 7
9 2 9 2 0 5 5
4 2 6 9 4 6 0
1 0 3 5 4 5 9
6 3 6 0 2 0 8
0 8 4 3 2 1 8
6 0 4 4 5 4 0
Кол-во элементов на [1,5]: 27
Вариант "совсем для школы"
const
n=7;
var
a:array[1..n,1..n] of integer;
i,j,k:integer;
begin
Randomize;
k:=0;
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(10);
Write(a[i,j]:3);
if a[i,j] in [1..5] then Inc(k)
end;
Writeln
end;
Writeln('Кол-во элементов на [1,5]: ',k)
end.