Tarea 5 de Algoritmos y Estructuras de Datos

Trimestre 2013 Otoño
Entrega: 3 de octubre de 2013 a las 22:00

En esta tarea implementarás operaciones sobre una pila con mínimo de enteros, la cual tiene tres operaciones distintas:
  1. Agregar un elemento a la pila (apilar).
  2. Eliminar un elemento de la pila (desapilar).
  3. Reportar el menor elemento en la pila sin modificarla (mínimo).
Las primeras dos operaciones se pueden implementar en tiempo constante (como lo vimos en clase). Para implementar la tercera operación en tiempo constante se requiere una segunda pila en la cual también se agrega o elimina un elemento si es el mínimo actual.

Escribe un programa llamado mipilaNN.c (donde NN es tu número de lista) que:
  1. Lea el entero M e inicialice una pila con mínimo.
  2. Lea y efectúe M operaciones en la pila con mínimo.
  3. Escriba el resultado de esas operaciones.
La entrada comenzará con el valor de M, después aparecerán las M operaciones que debes hacer. Las operaciones estarán representadas de esta forma:
  1. Apilar se representará por el carácter 'A' seguido del entero N.
  2. Desapilar se representará por el carácter 'D'.
  3. Mínimo se representará por el carácter 'M'.
El resultado de cada operación será 0 0 (si hubo error) o 1 seguido de:
  1. El entero N en el caso de apilar.
  2. El tope de la pila en el caso de desapilar.
  3. El menor elemento de la pila en el caso de mínimo.
En el primer ejemplo de abajo se hacen 11 operaciones, la novena de las cuales representa un error. En particular, en la segunda pila del primer ejemplo se agrega el 3 en la primera operación, el 2 en la tercera operación, se elimina el 2 en la quinta operación, se elimina el 3 en la octava operación y se agrega el 1 en la décima operación.

Puedes suponer que 1 <= M <= 1000.

Entrada 1
Salida 1
Entrada 2
Salida 2
11
A 3
A 5
A 2
M
D
M
D
D
D
A 1
M
1 3
1 5
1 2
1 2
1 2
1 3
1 5
1 3
0 0
1 1
1 1
11
A 3
A 1
A 2
M
D
M
D
D
D
A 1
M
1 3
1 1
1 2
1 1
1 2
1 1
1 1
1 3
0 0
1 1
1 1

Guía para usar su cuenta de callix y enviar la tarea.