[데이터 구조] 2 주차 창고 와 대기 열 2: 창고 의 기본 조작

2005 단어 데이터 구조
/*********************************************
기본 스 택 작업, 스 택 이 비 었 을 때 pop 출력 error 의 경우 도 다음 을 읽 어야 합 니 다.
**********************************************/
2: 창고 의 기본 조작
보다
제출
통계
질문
총 시간 제한: 
1000ms 
메모리 제한: 
1000kB
묘사 하 다.
스 택 은 중요 한 데이터 구조 로 push k 와 pop 작업 을 가지 고 있 습 니 다.push k 는 스 택 에 숫자 k 를 넣 고 pop 은 스 택 에서 하 나 를 꺼 냅 니 다.
스 택 은 후진 에서 먼저 나 온 것 입 니 다. 스 택 도 가로의 통로 로 보면 push k 는 k 를 스 택 의 가장 오른쪽 에 두 고 pop 도 스 택 의 가장 오른쪽 에서 하나의 수 를 꺼 냅 니 다.
스 택 이 현재 왼쪽 에서 오른쪽으로 1 과 2 개의 수 를 포함 하고 있다 고 가정 하면 push 5 와 pop 작업 예제 도 는 다음 과 같다.
          push 5          pop
창고.   1 2  ------->  1 2 5 ------>  1 2
지금 은 창고 가 비어 있다 고 가정 합 니 다.일련의 push k 와 pop 작업 을 지정 한 후 출력 스 택 에 저 장 된 숫자 입 니 다.스 택 이 비어 있 으 면 pop 작업 을 받 습 니 다.
error 를 출력 합 니 다.
입력
첫 번 째 행위 m 는 m 조 테스트 입력 이 있 음 을 나타 낸다. m < 100.
각 조 의 첫 번 째 행동 n 은 다음 n 줄 push k 또는 pop 작업 이 있 음 을 나타 낸다.(n<150)
다음 n 줄, 각 줄 은 push k 또는 pop 이 고 그 중에서 k 는 정수 입 니 다.
(스 택 에 있 는 수량 이 100 개 를 초과 하지 않도록 입력)
출력
각 그룹의 테스트 데 이 터 를 한 줄 씩 출력 합 니 다.이 줄 의 내용 은 정상 적 인 상황 에서 스 택 에서 왼쪽 에서 오른쪽으로 저 장 된 숫자 이 고 숫자 는 빈 칸 으로 구분 되 며 스 택 이 비어 있 으 면 출력 하지 않 습 니 다.그러나 작업 중 스 택 이 비어 도 pop 을 받 으 면 error 를 출력 합 니 다.
샘플 입력
2
4
push 1
push 3
pop
push 5
1
pop

샘플 출력
1 5
error
# include

using namespace std;


int main(void)
{
    int b[155], top, tmp;
    int i, m, n, a;
    char s[5];
    cin>>m;
    while(m--)
    {
        tmp=0;
        top=-1;
        cin>>n;
        while(n--)
        {
            cin>>s;
            if(s[1]=='o')
            {
                if(top==-1)
                {
                    tmp=1;
                }
                top--;
            }
            else
            {
                cin>>a;
                b[++top]=a;

            }
        }
        if(tmp)
        {
            cout<

좋은 웹페이지 즐겨찾기