Tri-guapa X45419


Statement
 

pdf   zip

Diremos que una matriz cuadrada es tri-guapa si es de la forma (en el caso 4×44\times 4)

(bcccabccaabcaaab)\left( {\begin{array}{cccc} b & c & c & c \\ a & b & c & c \\ a & a & b & c \\ a & a & a & b \\ \end{array} }\right)

Es decir:

  • todos los elementos son b en la diagonal principal.

  • todos los elementos son a por debajo de la diagonal principal.

  • todos los elementos con c por encima de la diagonal principal.

Diseñad una función @tri_guapa(mat, a, b, c)@ que, dada una matriz cuadrada matmat y tres valores aa, bb y cc, responda TrueTrue cuando matmat tenga una estructura tri-guapa para los valores dados.

Ejemplo de sessión

Sample session
>>> mat = [[2, 3, 3, 3], [1, 2, 3, 3], [1, 1, 2, 3], [1, 1, 1, 2]]
>>> tri_guapa(mat, 1, 2, 3)
True
>>> mat = [[2, 3, 3, 3], [1, 2, 3, 1], [1, 1, 2, 3], [1, 1, 1, 2]]
>>> tri_guapa(mat, 1, 2, 3)
False
>>> mat = [['a', 'b', 'b'], ['c', 'a', 'b'], ['c', 'c', 'a']]
>>> tri_guapa(mat, 'c', 'a', 'b')
True
>>> mat = [['a', 'b', 'b'], ['c', 'b', 'b'], ['c', 'c', 'a']]
>>> tri_guapa(mat, 'c', 'a', 'b')
False
>>> mat = []
>>> tri_guapa(mat, 'c', 'a', 'b')
True
Information
Author
Professors Informàtica EEBE
Language
Spanish
Official solutions
Python
User solutions
Python