(Us recomanem resoldre aquest problema en C++.)
Demà serà l’aniversari de la Gisela, i l’Emma encara no li ha comprat cap regal. Desesperada, obté el plànol de les plantes del centre comercial més proper, les quals estan connectades amb diversos ascensors bidireccionals. L’Emma té poc temps (com n’és, de despistada!), així que només podrà anar a una sola botiga , que escollirà segons dos paràmetres: la distància que hagi de recórrer per arribar-hi, i l’afinitat de la botiga amb el regal que té pensat comprar. Si definim com el quocient (real) , l’Emma vol escollir la botiga amb el màxim . La podeu ajudar?
Observacions: No cal tenir en compte el camí de tornada. El camí cap a una botiga no pot passar per altres botigues ni per obstacles, però sí que pot travessar el trajecte dels ascensors, ja siguin les caselles inicial, final o intermèdies. L’Emma es troba inicialment a l’extrem superior esquerre (la casella ) de la planta 0. Dintre de cada planta, només es pot moure horitzontalment o verticalment, sense sortir mai del centre comercial. Cada ascensor només connecta les dues plantes dels extrems (no pot fer parades intermèdies). Cada trajecte complet d’un ascensor i cada pas entre dues caselles adjacents d’una planta costa 1.
L’entrada consisteix en diversos casos. Cada cas comença amb el nombre de plantes , el nombre de botigues , i l’amplada i la llargada de les plantes del centre comercial. Després venen les plantes 0, …, , cadascuna amb línies amb caràcters. Finalment, venen enters positius indicant l’afinitat de la botiga representada per la lletra -èsima de l’alfabet anglès. Suposeu , , que i es troben entre 2 i 100, i .
Al plànol de cada planta, els ‘#’ indiquen obstacles,
els punts indiquen caselles lliures, les primeres
lletres majúscules indiquen botigues, i els dígits indiquen ascensors
(la planta de destinació). Des de l’entrada, que sempre estarà lliure,
es pot arribar a totes les botigues.
Per a cada cas, escriviu la lletra de la botiga òptima, així com la distància que cal recórrer per arribar-hi. Amb els casos donats no hi haurà empats.
Input
1 2 3 6 .....B #..... A..... 4 6 3 5 4 4 .#1# .... ##.# A..# #.0B ..## ..#2 C... ...# .#.D E#.1 #### 15 18 12 16 20 4 2 2 5 ....3 ..... ....2 B...3 ...A1 ..... ....0 ....1 1 1
Output
B 5 B 6 A 10