Importància de les caselles P24979


Statement
 

Graphic problem

pdf   zip

Considereu un tauler n×mn \times m amb obstacles. S’ha d’anar des d’una casella inicial fins a una casella final, fent moviments horitzontals i verticals, mai sortint fora del tauler, i mai passant per cap obstacle. A més, cal fer el mínim nombre de moviments possible.

En general, hi haurà més d’un camí mínim que compleixi les restriccions. Per a cada casella (x,y)(x, y) del tauler, definim la seva importància IxyI_{xy} com el nombre de camins mínims que passen per (x,y)(x, y). El vostre programa haurà de pintar cada casella amb una intensitat de vermell proporcional a la seva importància.

Entrada

L’entrada comença amb una línia amb nn i mm, ambdues entre 1 i 100. Segueixen nn línies amb mm caràcters cadascuna. Els obstacles es marquen amb asteriscs, les caselles lliures amb punts, la casella inicial amb una ‘I’, i la casella final amb una ‘F’. Sempre hi haurà exactament un inici i un final, i sempre es podrà arribar al final des de l’inici.

Sortida

Genereu una imatge (10m×10n)(10m \times 10n) amb un quadrat 10×1010 \times 10 per a cada casella. Pinteu cada obstacle amb el color ‘Blue’. Pinteu cada casella lliure per la qual no passa cap camí mínim amb el color ‘Green’.

Sigui MM la màxima IxyI_{xy}. Amb els jocs de prova donats, sempre es complirà M255M \le 255. Sigui k=255//Mk = 255//M. Pinteu les caselles (x,y)(x, y) per les quals passen Ixy>0I_{xy} > 0 camins mínims amb el color (k*Ixy,0,0)(k*I_{xy}, 0, 0).

Considereu el primer exemple d’entrada. Per la casella inicial passen (surten) 7 camins mínims. Així doncs, tenim M=7M = 7 i k=36k = 36. La casella central del tauler s’ha pintat de color (36*4,0,0)=(144,0,0)(36*4, 0, 0) = (144, 0, 0), perquè hi passen 4 camins mínims.

Puntuació

  • Cas A:

    Casos on hi ha exactament un camí mínim, com l’exemple d’entrada 2.

  • Cas B:

    Resta de casos.

Information
Author
Salvador Roura
Language
Catalan
Official solutions
Python
User solutions
Python