Escriure una funció caselles_segures(n,m,lst) tal que donades les dimensions d’un tauler d’escacs n × m 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 (f,c) on 1 ≤ f ≤ n, 1 ≤ c ≤ m.
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.
Entrada
La funció té dos enters n ≥ 1 i m ≥ 1 i una llista de posicions com a paràmetres.
Se’ns garanteix que la llista de posicions no té més de n × m 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).
Observacions
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 >>>