Тема: Що не так в коді?
Чому не ідуть всі тести? Ось умова задачі і мій код:
Зима вже близько. Запаси картоплi давно поскладанi в пiдвалi. Повинно вистачити на всю
зиму. План наступний: Зеник носить картоплю з пiдвалу до кухнi, Марiчка готує їсти, а котик
поважно сидить i за всiм дiлом уважно спостерiгає. Сьогоднi ми з Вами будемо допомагати
Зенику, адже йому дiсталася найскладнiша робота.
Якщо подивитися на пiдвал зверху, то вiн має вигляд прямокутника висотою
h клiтинок i шириною w клiтинок. В кожнiй клiтинцi пiдвалу стоять ящики з картоплею кубики розмiром 1 ×1 ×1 поскладанi один на одного. В j-й клiтинцi i-го рядка знаходиться a[i,j]
ящикiв, поскладаних один на одного. За один раз Зеник може забрати з пiдвалу рiвно один ящик. Зрозумiло, що це повинен бути один iз ящикiв який знаходиться зверху, тобто на якому нiчого не стоїть.
Для того щоб котик був задоволений роботою Зеника, склад картоплi в пiдвалi завжди по-
винен бути красивим. Склад картоплi в пiдвалi називається красивим, якщо кiлькiсть ящикiв в
кожнiй клiтинцi пiдвалу не перевищує кiлькiсть ящикiв в клiтинцi злiва i зверху вiд неї. Iншими
словами, кiлькостi ящикiв повиннi утворювати незростаючу послiдовнiсть по кожному рядку i
кожному стовпцю пiдвалу.
Зеник дуже добре вмiє носити ящики з картоплею. Ваше завдання допомогти йому не
засмутити котика. Необхiдно сказати, в якому порядку Зеник може забирати ящики з пiдвалу,
щоб склад картоплi весь час залишався красивим. Зауважимо, що зима планується довга, тому
Зенику доведеться забрати всi ящики зi складу.
Вхiднi данi
В першому рядку задано два цiлi числа h i w висота i ширина пiдвалу. В наступних h рядках
задано по w цiлих чисел a[i,j] початковi кiлькостi ящикiв в кожнiй клiтинцi. Гарантується, що
початково склад є красивим.
Вихiднi данi:
В першому рядку виведiть одне цiле число c кiлькiсть ящикiв з картоплею якi знаходяться
в пiдвалi. В наступних c рядках виведiть трiйки чисел x y z порядок в якому Зеник повинен
забирати ящики. x y z означає, що наступним треба забрати ящик на перетинi рядка
x i стовпця y, який є z-м по порядку в цiй клiтинцi. Рядки i стовпцi нумеруються з 1, ящики в однiй клiтинцi нумеруються з 1 починаючи з нижнього. Якщо iснує декiлька можливих послiдовностей ящикiв, виведiть будь-яку iз них.
Обмеження: 1≤h,w≤100, 0≤a[i,j]≤100
Приклад:
Вхідні дані: Вихідні дані:
2 3 5
2 1 1 1 1 2
1 0 0 1 3 1
2 1 1
1 2 1
1 1 1
var
a: array[1..100, 1..100] of integer;
h, w, i, j, c: integer;
begin
read(h, w);
c := 0;
for i := 1 to h do
for j := 1 to w do
begin
read(a[i, j]);
c := c + a[i, j];
end;
writeln(c);
for i := h downto 1 do
for j := w downto 1 do
while a[i, j] >= 1 do
begin
writeln(i, ' ', j, ' ', a[i, j]);
a[i, j] := a[i, j] - 1;
end;
end.