Помогите решить задачу!Нужно написать программу
Задача C. Хорошая таблица
Имеется прямоугольная целочисленная таблица размером N•M. «Путём» в этой таблице назовём последовательность из N+M-1 клеток, которая начинается из клетки (1, 1), заканчивается клеткой (N, M) и любые две идущие подряд клетки в этой последовательности имеют общую сторону. Назовём таблицу «хорошей», если сумма чисел в клетках каждого пути в этой таблице одна и та же. Определить, является ли данная таблица «хорошей».
Входные данные
Во входном файле INPUT.TXT записаны не более 10 таблиц. Запись каждой таблицы содержит в первой строке два числа — количество строк N и количество столбцов M (1 ≤ N, 1 ≤ M, N•M ≤ 30000). В следующих N строках содержатся по M чисел — значения элементов таблицы — целые числа от -32000 до 32000. Последняя строка входного файла содержит значения 0 0.
Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести строку из символов Y и N. Длина строки равна количеству таблиц во входном файле. Символ Y обозначает что соответствующая таблица «хорошая», N - иначе.

Я решала эту задачу ...с горем - по - полам .. простите :(..
в ней должны бытьравны элементы стоящие в одной побочной диагонале. всего побочныхдиагоналей n+m-1. 
достаточно хранить первую строку и последний столбец,


varn, m, i, j, b : integer;
 a : array [1..30000] of integer;
  t : boolean;beginassign(input,input.txt);
reset(input);
 assign(output,output.txt);
rewrite(output);
  readln(n,m);
 while n+m>0 do
 begin
 t:=true;
  for j:=1 to m do
 read(a[j]);
 for i:=2 to n do begin
 for j:=1 to m-1 do begin
  read(b);
 t:=t and (b=a[i+j-1])end;
 read(b);
 a[m+i-1]:=bend;
 if t then write(Y) else write(N);
 readln(n,m)end;
 close(output) ;
end.

Оцени ответ
Подпишись на наш канал в телеграм. Там мы даём ещё больше полезной информации для школьников!

Загрузить картинку