Te disponías a tirar migas de pan a los gorriones en el patio
rectangular de la escuela, pero ves de reojo que hay una buena cantidad
de palomas gordas al acecho. Sabes que una vez una miga toque el suelo,
se la llevará el pájaro situado más cerca de la miga (en concreto, el
que necesite moverse el mínimo número de casillas, en cualquiera de las
ocho direcciones, para llegar a su objetivo). Por ejemplo, si tenemos a
3 gorriones (G) y 2 palomas (P) situados en
las posiciones siguientes,
.......G..
..P......G
...G......
......P...
y marcamos con g (respectivamente, p)
aquellas casillas donde, caso de caer una miga, se la acabaría comiendo
un gorrión (respectivamente, una paloma), obtendremos lo siguiente:
pppp.ggGgg
ppP.g.gggG
pp.Ggpppgg
p.gggpPp.g
Los puntos son aquellas casillas en las que no está claro si la miga se la comería una paloma o un gorrión, dado que se produce un empate. En este caso, y sin importar el número de palomas o gorriones que estén a igual distancia, siempre consideraremos que hay un 50% de probabilidad que la miga se la acabe llevando un gorrión.
Tu objetivo es lanzar las migas a aquellos lugares del parque en los que serían comidas por un gorrión Sin embargo, tu puntería no es tan buena como querrías: si intentas lanzar una miga a una casilla , la miga puede caer en cualquier casilla que esté a distancia o menos de tu casilla objetivo (es decir, en cualquier casilla del cuadrado de lado centrado en ). No está permitido que lances la miga a un lugar tal que haya alguna posibilidad de que ésta caiga fuera del patio (o sea, no puedes lanzar a una casilla que esté a menos de distancia del exterior). Te pedimos que encuentres dónde deberías intentar apuntar para maximizar las posibilidades de que la miga sea comida por un gorrión.
Una línea con los números
y
(filas y columnas). Se cumple
.
A continuación,
líneas de
caracteres cada una, con puntos (casilla vacía), P (paloma)
o G gorrión. Por último, una cantidad arbitraria
(posiblemente 0) de valores
(tu error máximo al apuntar), uno por línea.
Escribe el mapa que indica, para cada casilla, si llegará antes un
gorrión g o una paloma p, como en el ejemplo.
A continuación, y para cada valor de
,
escribe una línea con dos números separados por un espacio, con la fila
y la columna (empezando en 1) de la casilla donde deberías apuntar para
maximizar las posibilidades de alimentar a un gorrión si tu error al
apuntar es
.
Si hay más de una casilla posible, escribe aquella con menor fila; si
sigue habiendo más de una, escribe aquella con menor columna. Recuerda
que no se consideran válidas aquellas casillas en las que es posible
tirar la miga fuera del patio (por ejemplo, la primera casilla válida es
la
).
TestA:
Entradas con y ningún valor de (sólo tienes que escribir el mapa).
TestB: Entradas con y no más de 10 valores .
TestC: Entradas con y no más de 10 valores .
TestD: Entradas con y no más de 10 valores .
Input
4 10 .......G.. ..P......G ...G...... ......P...
Output
pppp.ggGgg ppP.g.gggG pp.Ggpppgg p.gggpPp.g
Input
4 10 .......G.. ..P......G ...G...... ......P... 0 1
Output
pppp.ggGgg ppP.g.gggG pp.Ggpppgg p.gggpPp.g 1 6 2 9
Input
12 20 G................... .P.................. ........P........P.. .................... ..G................G ..P................. .............P...... .................... .G.G.P.............. .................... ........G........... .................... 0 1 2 3 4 5
Output
G.pppppppppppppppppp .Ppp..pppppppppppppp ppp.g.ppPppppppppPp. .ggg..pppppppppppp.g ..G...ppppppppppp.gG ..P....ppppppppp.ggg .ppp..ppp.pppPpp.ggg gggg.ppp.g.ppppp.ggg gGgG.Pp.gggpppppp.gg gggg.ppgggg.pppppp.g ggg....gGggg.pppppp. gg....ggggggg.pppppp 1 1 7 19 10 3 9 4 8 5 7 6