Jugando con números P26716


Statement
 

pdf   zip

html

Dados n números, calculad qué resultados distintos es posible obtener con los operadores suma y producto, poniendo tantos paréntesis como se quiera, pero sin cambiar el orden de los operandos. Por ejemplo, con la secuencia 2, 1, 3 únicamente es posible obtener 5, 6, 8 y 9. Éstas son algunas de las maneras posibles:

     
5= (2 · 1) + 3,          
6= 2 · (1 · 3),          
8= 2 · (1 + 3),          
9= (2 + 1) · 3.          

Entrada

La entrada contiene un número arbitrario (pero no superior a 100) de casos, cada uno de los cuales con 1≤ n≤ 9, seguido de n números entre 1 y 9.

Salida

Para cada caso, escribid todos los posibles resultados en orden creciente. Separad los resultados consecutivos con comas. Escribid exactamente 10 números por línea (excepto, tal vez, la última). Acabad el listado con un punto. Fijaos en los ejemplos.

Puntuación

  • TestA:   Resolver casos con n=1.  15 Puntos 
  • TestB:   Resolver casos con n=2.  15 Puntos 
  • TestC:   Resolver casos con n=3.  15 Puntos 
  • TestD:   Resolver casos con n≤ 5.  15 Puntos 
  • TestE:   Resolver casos con n≤ 9.  40 Puntos 
Public test cases
  • Input

    1  8
    2  4 5
    

    Output

    8.
    9,20.
    
  • Input

    3  2 1 3
    2  1 1
    4  5 1 4 1
    4  2 5 8 3
    4  9 9 9 9
    3  4 7 9
    

    Output

    5,6,8,9.
    1,2.
    9,10,11,20,21,24,25,26,30.
    18,21,29,31,32,34,41,45,54,57,
    58,59,77,78,83,86,110,122,126,168,
    240.
    36,99,162,171,243,324,738,810,1458,6561.
    20,37,64,67,99,252.
    
  • Information
    Author
    Salvador Roura
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++