Notación O

Time Limit:
1 Sec
Memory Limit:
128Mb
Enviados:
450
Resuelto:
107

Descripción

Recientemente ha salido un libro para los programadores competitivos, llamado Competitive Programmer's Handbook, en tal libro en el capítulo 2 se habla de complejidades y reglas para calcularlas según la Notación O, como está de moda automatizar todo, en esta ocasión se quiere automatizar el cálculo de complejidades y mostrar estas en notación O.

Las reglas para el cálculo de complejidades en notación O son las siguientes:

  1. Cualquier instrucción salvo un for tiene complejidad 1
  2. Un for tiene complejidad n
  3. Si un for tiene contenido dentro uno o más \textbf{\textit{for}}, la complejidad es equivalente a \textit{n} elevado a la cantidad máxima de fors contenidos uno dentro de otro.

Entrada

La primera línea contiene un número entero $1\leq t \leq 500$ que indica la cantidad de programas a analizar.
Por cada programa, la primera línea tendrá un número entero $1<c<100$ que indica la cantidad de líneas de código del programa, en las siguientes $c$ líneas se incluirán las líneas de código sin indentación en lenguaje C++.

Una línea de código puede ser:


Inicio de ciclo:                               for(int\ cont = 0;cont < n; cont++) {
Fin de ciclo:                                   }
Declaración e Inicialización:       int nombreVariable = 0;
Incremento de valor:                       nombreVariable++;

Salida

Para cada programa imprimir la complejidad en notación O de las líneas de código, según el siguiente formato O(complejidad, donde complejidad es igual a la complejidad en notación O del programa, vea los ejemplos para mejor entendimiento.

Ejemplo Entrada

Copy icon
4
6
for(int i=0;i
                            

Ejemplo Salida

Copy icon
O(n^3)
O(n^1)
O(n^2)
O(1)

Ayuda