Tiempo de Ejecución

Por Javier Eduardo Ojeda Jorge

Near y Mello en la ciudad de La Paz, han comenzado a analizar bastante los algoritmos y sus diferentes tiempos de ejecución, en esta ocasión se requiere conocer automáticamente el tiempo de ejecución de un algoritmo dadas las líneas de código de un programa para ello tomar en cuenta las siguientes reglas de automatización.

  • El tiempo de ejecución de un algoritmo es la suma total de los tiempos de ejecución de cada parte del algoritmo.
  • Cualquier instrucción salvo un for tiene tiempo de ejecución 1
  • Todo ciclo for tiene un tiempo de ejecución equivalente a n multiplicado por lo contenido dentro del ciclo

Entrada

La primera línea contiene un número entero 1 <= t <= 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 + +;
 

Debes considerar que el código es correcto.

Salida

Para cada programa imprimir el tiempo de ejecución de las líneas de código, según el siguiente formato T(tiempo), donde tiempo es igual al tiempo de ejecución del algoritmo.

Ejemplo de Entrada

4
6
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
for(int k=0;k<n;k++){
}
}
}
8
int x=0;
for(int i=0;i<n;i++){
}
for(int j=0;j<n;j++){
x++;
}
for(int k=0;k<n;k++){
}
6
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
}
}
for(int k=0;k<n;k++){
}
1
int x=0;

Ejemplo de Salida

T(n(n(n)))
T(1+n+n(1)+n)
T(n(n)+n)
T(1)

Código

TIEMPOEJEC

Intentos de resolución

13
4

Logrados

Etiquetas

#2017 #obi-distrital