• Помогите решить задачу!Нужно написать программу
    Задача 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 - иначе.

Ответы 1

  • Я решала эту задачу ...с горем - по - полам .. простите :(..в ней должны быть равны элементы стоящие в одной побочной диагонале. всего побочных диагоналей n+m-1. достаточно хранить первую строку и последний столбец,var n, m, i, j, b : integer;  a : array [1..30000] of integer;  t : boolean; begin assign(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]:=b end;  if t then write('Y') else write('N');  readln(n,m) end;  close(output) ;end.
    • Автор:

      jared
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years