Daimayuan Online Judge 栈练习2

题目描述

你需要实现 n� 个栈,编号为 11 到 n�,并支持以下两种操作:

1、对 id�� 号栈插入一个整数 x�;

2、对 id�� 号栈删除栈顶并输出被删除的数(若删除前栈已为空,则不进行删除操作,输出 error)。

初始时栈为空,现在给你 m� 个操作指令,请你按照要求输出答案。

输入格式

第 11 行 22 个正整数 n,m�,�,分别表示栈的数量和操作的个数。

接下来共 m� 行。

对于其中的第 i� 行,首先 22 个正整数 id�� 和 opti���� 表示对 id�� 号栈进行第 opti���� 操作,若 opti=1����=1 则再输入一个整数 x�,表示向栈中插入 x�;若 opti=2����=2,则表示删除栈顶。

输出格式

共若干行,每行一个整数或 error

样例输入
2 5
1 1 1
2 1 2
1 2
2 2
1 2
样例输出
1
2
error
数据范围

对于 100%100% 的数据,保证 1≤n≤1001≤�≤100,1≤m≤1031≤�≤103,−109≤x≤109−109≤�≤109。

 

#include<bits/stdc++.h>
using namespace std;

int s[101][1001];
int m,n ,top[1001];
int main() {
    scanf("%d%d",&n,&m);
    memset(top, 0,sizeof(top));
    for(;m--;){
        int opt ,id;
        scanf("%d%d",&id,&opt);
        if(opt == 1){
            int x;
            scanf("%d",&x);
            s[id][++top[id]] = x; 
        }else{
            if(!top[id]){
                printf("error\n");
            }else{
                printf("%d\n",s[id][top[id]--]) ;
            }
            
            
            
        }
    }
}
 

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值