Картопля в підвалі
Обмеження: 2 сек., 256 МіБ
Зима вже близько. Запаси картоплі давно поскладані в підвалі. Повинно вистачити на всю зиму. План такий: Зеник носить картоплю з підвалу до кухні, Марічка готує їсти, а котик поважно сидить і за всім ділом уважно спостерігає. Сьогодні ми з вами будемо допомагати Зенику, адже йому дісталася найскладніша робота.
Якщо подивитися на підвал зверху, то він має вигляд прямокутника висотою \(h\) клітинок і шириною \(w\) клітинок. У кожній клітинці підвалу стоять ящики з картоплею — кубики розміром \(1 \times 1 \times 1\), поскладані один на одного. У \(j\)-ій клітинці \(i\)-ого рядка є \(a_{i j}\) ящиків, поскладаних один на одного. За один раз Зеник може забрати з підвалу рівно один ящик. Зрозуміло, що це повинен бути один із ящиків який є зверху, тобто на якому нічого не стоїть.
Для того щоб котик був задоволений роботою Зеника, склад картоплі в підвалі завжди повинен бути красивим. Склад картоплі в підвалі називається красивим, якщо кількість ящиків у кожній клітинці підвалу не перевищує кількість ящиків у клітинці зліва й зверху від неї. Іншими словами, кількості ящиків повинні утворювати незростаючу послідовність в кожному рядку й кожному стовпці підвалу.
Зеник дуже добре вміє носити ящики з картоплею. Ваше завдання — допомогти йому не засмутити котика.
Необхідно сказати, у якому порядку Зеник може забирати ящики з підвалу, щоб склад картоплі весь час залишався красивим. Зауважимо, що зима планується довга, тому Зенику доведеться забрати всі ящики зі складу.
Вхідні дані
У першому рядку містяться два цілі числа \(h\) і \(w\) — висота й ширина підвалу.
У наступних \(h\) рядках задано по \(w\) цілих чисел \(a_{i j}\) — початкові кількості ящиків в кожній клітинці.
Вихідні дані
У першому рядку виведіть ціле число \(c\) — кількість ящиків із картоплею, які є в підвалі.
У наступних \(c\) рядках виведіть трійки чисел \(x\), \(y\), \(z\) — порядок, у якому Зеник повинен забирати ящики. \(x\), \(y\), \(z\) означає, що наступним треба забрати ящик на перетині рядка \(x\) і стовпця \(y\), який є \(z\)-им по порядку в цій клітинці. Рядки і стовпці нумеруються з 1, ящики в одній клітинці нумеруються з 1 починаючи з нижнього.
Якщо існує декілька можливих послідовностей ящиків, виведіть будь-яку з них.
Обмеження
\(1 \le h, w \le 100\),
\(0 \le a_{i j} \le 100\),
гарантується, що початково склад є красивим.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
2 3 2 1 1 1 0 0 | 5 1 1 2 1 3 1 2 1 1 1 2 1 1 1 1 |
Надіслати розв'язок
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|