1

Тема: Що не так в коді?

Чому не ідуть всі тести? Ось умова задачі і мій код:

Зима вже близько. Запаси картопл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.

2

Re: Що не так в коді?

Можливо, в тестах помилка. Спробуйте по стовпчиках віднімати (до речі, там можна взагалі не віднімати, а третій for ... downto зробити).

Подякували: bogdandacik1

3

Re: Що не так в коді?

Пробував перебирати по стовпцях, але проходить тільки два тести. В чому проблема?

4

Re: Що не так в коді?

Поки що основна версія - в тестах. Зверніться до розробників. Там має бути якийсь форум.

5

Re: Що не так в коді?

Дякую пане Koala я вже сам догадався в чому проблема. Потрібно було брати тип даних int64, а не integer. Автори задачі неправильно написали обмеження.

6

Re: Що не так в коді?

Боюся, первинна все ж умова, а не тести. Так що автори тестів неправильно їх задали, якщо там більше ніж 2 мільярди десь зустрічається.

7

Re: Що не так в коді?

Якщо там десь більше двох мільярдів, то Зеник з Марічкою живуть у Вінтерфелі :)

8

Re: Що не так в коді?

Torbins написав:

Якщо там десь більше двох мільярдів, то Зеник з Марічкою живуть у Вінтерфелі :)

Звідки у Вінтерфелі картопля? У них там Америки немає.