Problem hidden
This problem was hidden by Editorial Board member probably because it has incorrect language version or invalid test data, or description of the problem is not clear.

ZJAWB - Игра JawBreaker

Цель этой популярной игры заключается в том, чтобы набрать максимальное количество очков, убирая фишки одного цвета, которые соприкасаются сторонами (по диагонали не считается), образуя цепочки и массивы. Чем больше фишек исчезает за один ход, тем больше начисляется за этот ход очков. Точное количество очков за ход описывается формулой N*(N-1) где N количество фишек (так 2*(2-1)=2, 10*(10-1)=90). При этом, соответственно, фишка, которая прикасается к остальным только одной стороной не менее ценная, чем та, которая со всех сторон окружена такими же. Если вы убрали фишки из середины поля, то верхние фишки падают вниз, закрывая собой пустоты. Игра заканчивается в тот момент, когда на поле больше не остается фишек, которые могут быть убраны.

Игра JawBreak


В задаче вам будет дано поле и расставленные на нем фишки. Ваша цель набрать максимальное количество очков. Потренироваться и определиться со стратегией можно он-лайн (Замечание: он-лайн игра немного отличается от той, что описана в условии): http://www.bigfrog.net/jawbreaker/

Входные данные

t – число тестов, затем следуют t тестов. [t <= 500]
Каждый тест начинается с 3 целых чисел: H - количество рядов в головоломке, W - количество столбцов в головоломке и C - количество различных цветов, используемых, для раскраски фишек. [4 <= H, W <= 100] и [3 <= C <= 50]. Затем следуют H рядов по W чисел в каждом, разделенные пробелом. Каждое число принимает значения от 0 до C-1 и означает цвет фишки.

Выходные данные

Для каждого теста необходимо вывести на отдельной строчке букву Y если вы хотите решать этот тест или же N в противном случае. Далее в том случае если вы ответили Y, необходимо вывести набор строчек с двумя целыми числами в каждой x, y равными ряду и столбцу на поле. [0 <= x < H], [0 <= y < W]. Координаты отсчитываются от верхнего левого угла поля. После вашего последнего хода необходимо вывести строчку -1 -1. При этом вы получите статус Wrong Answer в случаях если координаты выходят за границы поля или же вы сделали неверный ход (то есть указали на пустое место или одиночную фишку).

Начисление очков

Количество очков полученное за данную задачу вычисляется по формуле: score = 200*total_score/(200+time), где total_score - суммарное количество очков за все тесты, а time - время работы программы в секундах.

Пример

Входные данные:
1
4 4 3
0 0 1 1
1 1 2 2
0 1 2 0
0 1 1 2

Выходные данные:
Y
1 0
1 0
3 2
-1 -1

Пояснение:
Начальное поле:

0 0 1 1
1 1 2 2
0 1 2 0
0 1 1 2

Поле после первого хода (убрали 5 единиц):

. . . 1
0 . 1 2
0 . 2 0
0 0 2 2

Поле после второго хода (убрали 4 нолика):

. . . 1
. . 1 2
. . 2 0
. . 2 2

Поле после третьего хода (убрали 3 двойки):

. . . .
. . . 1
. . . 2
. . 1 0


Начисление очков:
В данном случае total_score = 5*(5-1) + 4*(4-1) + 3*(3-1) = 20 + 12 + 6 = 38, 
положим также, что программа работала 10 секунд. В этом случае количество очков, 
полученных за программу будет равно 36.190476


Added by:Roman Sol
Date:2007-07-19
Time limit:0.100s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:ADA95 ASM32 GAWK BASH BF C CSHARP C++ 4.3.2 CPP C99 CLPS CLOJURE LISP sbcl LISP clisp D FSHARP FORTRAN GO HASK ICON ICK JAVA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYTHON3 PY_NBC RUBY SCALA SCM guile SCM qobi ST TCL TEXT WHITESPACE
Resource:ZCon 2008

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.