#include<stdio.h> #include<stdlib.h> typedef struct node{ int data; struct node *next; }node; node *head; void pop(); void push(int a); void stack_a(); int main() { int n,i,a,count=0; char ch[2]; while(scanf("%d",&n)&&n) { head=NULL; for(i=0;i<n;i++) { scanf("%s",ch); if(ch[0]=='P') { scanf("%d",&a); push(a); count++; } else if(ch[0]=='O') { if(count!=0) { pop(); count--; } else count=0; } else if(ch[0]=='A') { stack_a(); } } printf("\n"); } } void push(int a) { node *p; p=(node*)malloc(sizeof(node)); if(head==NULL) { p->data=a; p->next=NULL; head=p; } else { p->data=a; p->next=head; head=p; } } void pop() { node *p; //p=(node*)malloc(sizeof(node)); if(head!=NULL) { p=head; head=head->next; free(p); } // else printf("\n"); } void stack_a() { node *p; p=head; if(head==NULL) printf("E\n"); else printf("%d\n",p->data); }
0.0分
0 人评分