Escriure una funció
caselles_segures(n,m,lst) tal que donades
les dimensions d’un tauler d’escacs
i una llista lst de posicions on podem
trobar torres (les peces d’escacs), retorni quantes caselles segures,
fora de perill, hi ha al tauler. En aquest problema, diem que una
casella és segura o està fora de perill si no està ocupada ni està
amenaçada per cap torre. Les posicions venen donades per tuples de dos
elements
(,)
on
,
.
Per exemple, si fem:
caselles_segures(4,6,[(1,2),(1,4),(2,4),(4,4),(4,6)])
el resultat ha de ser 3 (si us ho
dibuixeu ho veureu millor).
Teniu més exemples en els jocs de proves públics.
La funció té dos enters i i una llista de posicions com a paràmetres.
Se’ns garanteix que la llista de posicions no té més de
elements, totes les posicions són correctes (estan dins el tauler) i no
hi ha posicions repetides (és a dir, si la llista té
t elements, vol dir que hi ha
t torres diferents al tauler).
No podeu fer servir cap mòdul addicional.
Un cop definida la funció, en provar-la al REPL de Python us hauria de sortir el mateix que podeu observar més avall.
>>> caselles_segures(4,6,[(1,2),(1,4),(2,4),(4,4),(4,6)]) 3 >>> caselles_segures(1,1,[(1,1)]) 0 >>> caselles_segures(2,3,[(1,1)]) 2 >>> caselles_segures(2,3,[(1,1),(2,3),(2,1)]) 0 >>> caselles_segures(200,100,[(1,1),(200,1),(1,100),(200,100)]) 19404 >>>