9 도 OJ 1108: 스 택 사용 (스 택)
메모리 제한: 32 메 가
특수 판정 문제: 아니오
제출: 6705
해결: 1974
제목 설명:
스 택 은 기본 적 인 데이터 구조 이다.스 택 은 두 가지 기본 작업 방식, push 와 pop 을 가지 고 있 습 니 다.Push 의 값 은 스 택 꼭대기 에 눌 러 넣 고 pop 은 스 택 꼭대기 의 값 을 팝 업 합 니 다.이제 창고 의 사용 을 검증 해 보 겠 습 니 다.
입력:
각 그룹의 테스트 데이터 에 대해 첫 번 째 줄 은 정수 n, 0 < n < = 10000 (n = 0 종료) 입 니 다.다음 n 줄 에서 각 줄 의 첫 번 째 문 자 는 'P' 또는 'O' 또는 'A' 일 수 있 습 니 다.'P' 라면 뒤에 정수 가 따라 와 서 이 데 이 터 를 창고 에 넣 는 것 을 표시 합 니 다.'O' 라면 스 택 꼭대기 의 값 pop 을 표시 합 니 다. 스 택 에 요소 가 없 으 면 이번 작업 을 무시 합 니 다.'A' 라면 현재 스 택 지붕 의 값 을 묻 고 스 택 이 비어 있 으 면 'E' 를 출력 합 니 다.창고 가 비어 있 기 시작 하 다.
출력:
각 그룹의 테스트 데이터 에 대해 명령 문자 에 따라 스 택 을 처리 합 니 다.그리고 모든 'A' 작업 에 대해 출력 당시 창고 의 값 을 한 줄 씩 차지 하고 창고 가 비어 있 으 면 'E' 를 출력 합 니 다.각 그룹의 테스트 데이터 가 완성 되면 빈 줄 을 출력 합 니 다.
샘플 입력:
3
A
P 5
A
4
P 3
P 6
O
A
0
샘플 출력:
E
5
3
원본:
2011 년 길림대학 컴퓨터 연구 생기 시험
생각:
기본 스 택 데이터 조작.
코드:
#include <stdio.h>
#include <string.h>
#define N 10000
int stack[N];
int top;
void init()
{
top = 0;
}
int notEmpty()
{
if (top <= 0)
return 0;
else
return 1;
}
int push(int x)
{
if (top < N)
{
stack[top++] = x;
return 1;
}
return 0;
}
int pop(int *x)
{
if (notEmpty())
{
*x = stack[--top];
return 1;
}
else
return 0;
}
int printTop()
{
if (notEmpty())
{
printf("%d
", stack[top-1]);
return 1;
}
else
{
printf("E
");
return 0;
}
}
int main(void)
{
int n, i;
char op[2];
int x;
while (scanf("%d", &n) != EOF && n)
{
init();
for (i=0; i<n; i++)
{
scanf("%s", op);
if (op[0] == 'A')
printTop();
else if (op[0] == 'P')
{
scanf("%d", &x);
push(x);
}
else if (op[0] == 'O')
pop(&x);
//for (int j=0; j<top; j++)
// printf("%d\t", stack[j]);
//printf("
");
}
printf("
");
}
return 0;
}
/**************************************************************
Problem: 1108
User: liangrx06
Language: C
Result: Accepted
Time:10 ms
Memory:952 kb
****************************************************************/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【경쟁 프로 전형적인 90문】008의 해설(python)의 해설 기사입니다. 해설의 이미지를 봐도 모르는 (이해력이 부족한) 것이 많이 있었으므로, 나중에 다시 풀었을 때에 확인할 수 있도록 정리했습니다. ※순차적으로, 모든 문제의 해설 기사를 들어갈 예정입니다. 문자열...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.