eolymp
bolt
Try our new interface for solving problems
Məsələlər

Квадрат Рубика

Квадрат Рубика

Навчившись складати кубик Рубика і прагнучи до нових життєвих перемог, Сашко вигадав свою власну головоломку. Нажаль, він поки не знає, як її вирішити. Сашко розповідає про свою головоломку таке. Комірки квадратної таблиці по \textbf{2n} комірок у кожному рядку й по \textbf{2n} комірок у кожному стовпчику, заповнено натуральними числами, що не перевищують \textbf{100}. За один крок дозволено дзеркально відобразити (<<перегорнути>>) довільний рядок або стовпчик таблиці. Далі подано кілька прикладів здійснення такої операції: ліворуч подано початкове заповнення таблиці, а праворуч три таблиці --- приклади заповнення таблиці після здійснення одного з можливих ходів. Виділено рядок або стовпчик, що було дзеркально відображено. \includegraphics{https://static.e-olymp.com/content/69/6913529ac3ed3136dabcbcb637bf9a5a86ff3d2c.jpg} Невідомо, чи можливо за допомогою таких операцій отримати таблицю, у комірки кожного з чотирьох кутових квадратів розміруn на n якої було б записано однакові числа. Числа у різних кутових квадратах можуть бути відмінними одне від одного. Якщо це можливо, потрібно вказати послідовність операцій, яка приводить до бажаного результату. Наприклад, таку таблицю: \includegraphics{https://static.e-olymp.com/content/1b/1b1713c84ebe7e3ce1ed0134c6714a133c5e810b.jpg} можна перетворити до потрібного вигляду за \textbf{4} кроки (виділено рядки та стовпчики, над якими було здійснено операцію на попередньому кроці): \includegraphics{https://static.e-olymp.com/content/96/96f26080c94282d07023ccec3e8d683fa52b8a5a.jpg} Визначте, чи можливо перетворити потрібним чином таблицю з даним початковим заповненням. Якщо це можливо, вкажіть послідовність ходів, після здійснення яких таблиця набуває потрібного вигляду. \InputFile У першому рядку вхідного файлу вказано число \textbf{t} --- кількість тестів, дані до яких подано у файлі. Далі розташовано \textbf{t} однакових за форматом блоків, що описують тести. Порожніх рядків між блоками немає. У першому рядку кожного з блоків вказано натуральне число \textbf{n}. У наступних \textbf{2n} рядках блока міститься по \textbf{2n} натуральних чисел, що задають початкове заповнення таблиці. При цьому \textbf{1} ≤ \textbf{t} ≤ \textbf{10}, \textbf{1} ≤ \textbf{n} ≤ \textbf{100}, а кожне з чисел, записаних в комірках таблиці, натуральне й не перевищує \textbf{100}. \OutputFile Вихідний файл має складатися з \textbf{t} однакових за форматом блоків, що відповідають \textbf{t} тестам, які подано у вхідному файлі. Порядок блоків має бути збережено: перший блок вихідного файлу має відповідати першому блоку вхідного, другий блок --- другому, …, останній --- останньому. Пустих рядків між блоками не має бути. У першому рядку кожного з блоків потрібно розташувати число \textbf{k} --- кількість операцій, після яких таблиця набуде потрібного вигляду. У наступних \textbf{k} рядках блоку потрібно описати відповідні операції у порядку виконання таким чином: вказати номер рядка або стовпчика, над яким було здійснено операцію. Нумерацію починають з одиниці, стовпчики рахують зліва направо, а рядки згори донизу. Якщо дзеркально відображається рядок, перед його номером ставиться знак "\textbf{+}" (без лапок), якщо стовпчик --- знак "\textbf{--}". Якщо початкове розташування чисел у комірках таблиці не дає можливості звести її до потрібного вигляду, єдиний рядок блоку має містити число "\textbf{--1}".
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 32 MiB
Giriş verilənləri #1
2
2
3 4 1 1
4 1 4 2
1 2 3 3
2 3 2 4
3
5 5 5 5 5 5
5 1 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
5 5 5 5 5 5
Çıxış verilənləri #1
4
-1
+1
+3
-3
-1
Müəllif Данило Мисак
Mənbə ІІІ (городской) этап Всеукраинской олимпиады школьников по информатике, 2007, г. Киев