29. Stack bằng mảng

Xem dạng PDF IDE

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Cho một stack được lưu trữ bởi một mảng số nguyên có 1000 phần tử, ban đầu stack rỗng có hai loại hành động được ký hiệu như sau:

  • 1 : là lấy một ký tự ra khỏi stack
  • 2 ~u~ : là thêm một phần tử ~u~ vào trong stack

Yêu cầu là in ra toàn bộ stack sau khi đã thực hiện các hành động

INPUT

  • Dòng đầu tiên gồm một số nguyên dương ~n~ tương ứng với có ~n~ hành động
  • Tiếp theo có ~n~ dòng mỗi dòng lưu thông tin của một hành động

OUTPUT

Là toàn bộ stack được sau khi thực hiện ~n~ hành động

CONSTRAINTS

  • ~0 \leq u \leq 10^9~
  • ~0 \leq n \leq 1000~

INPUT

4
1
2 8
2 9
1

OUTPUT

8

Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    251010600855  đã bình luận lúc 1, Oct, 2026, 15:27

    include <stdio.h>

    int main() { int n; if (scanf("%d", &n) != 1) return 0;

    long long stack[1005];
    int size = 0;
    
    for (int i = 0; i < n; i++) {
        int type;
        scanf("%d", &type);
        if (type == 1) {
            if (size > 0) {
                size--;
            }
        } else if (type == 2) {
            long long u;
            scanf("%lld", &u);
            stack[size++] = u;
        }
    }
    
    for (int i = 0; i < size; i++) {
        printf("%lld%s", stack[i], (i == size - 1) ? "" : " ");
    }
    printf("\n");
    
    return 0;
    

    }

Input
Output
Run