В кинотеатре n рядов по m мест в каждом. В двумерном массиве хранится информация о проданных билетах, число 1 означает, что билет на данное место уже продано, число 0 означает, что место свободно. Поступил запрос на продажу k билетов на соседние места в одном ряду. Определите, можно ли выполнить такой запрос — Pascal(Паскаль)

Входные данные
Программа получает на вход числа n и m. Далее идет n строк, содержащих m чисел (0 или 1), разделенных пробелами. Затем дано число k.

Выходные данные
Программа должна вывести номер ряда, в котором есть k подряд идущих свободных мест. Если таких рядов несколько, то выведите номер наименьшего подходящего ряда. Если подходящего ряда нет, выведите число 0

входные данные
3 4
0 1 0 1
1 0 0 1
1 1 1 1
2
выходные данные
2

var
  i, j, m, l, k,b, n: integer;
  a: array [1..100, 1..100] of integer;
begin
readln(n, m);
for i := 1 to n do
for j := 1 to m do
read(a[i, j]);
read(k); 
l:=1;
b:=0;
 
for i := 1 to n do begin
      for j := 1 to m do begin
  if (a[i][j]=a[i][j+1])and(a[i][j]=0) then  l:=l+1 ; end;
  if k<=l then b:=i else b:=0 ;
  if k<=l then break;end;
writeln (b);
 
end.

Leave a Comment

17 − 13 =