首页 > 其他分享 >Daimayuan Online Judge F. 栈!

Daimayuan Online Judge F. 栈!

时间:2024-10-13 20:50:42浏览次数:18  
标签:nn 删除 int Daimayuan kk xx Online Judge top

题目描述

你需要实现一个栈,支持以下两种操作:

1、插入一个整数 xx;

2、删除栈顶的前 kk 个数字并在一行中按出栈顺序输出被删除的数字,数字之间以空格分隔(若删除前栈中元素不足 kk 个,则不进行删除操作,输出 -1)。

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

输入格式

第一行一个正整数 nn,表示操作的个数。

接下来共 nn 行。

对于其中的第 ii 行,首先一个正整数 optiopti 表示操作的种类,若 opti=1opti=1 则再输入一个整数 xx,表示向栈中插入 xx;若 opti=2opti=2,则再输入一个整数 kk,表示删除栈顶的前 kk 个数字。

输出格式

共若干行,每行若干个用空格隔开的整数或 -1

#include<bits/stdc++.h>
using namespace std;
int n,top=0,a[101000];
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		int opt;
		cin>>opt;
		if(opt==1){
			int x;
			cin>>x;
			top++;
			a[top]=x;
		}
		if(opt==2){
			int y;
			cin >> y;
			if(top<y){
				printf("-1\n");
			}
			else{
				for(int i=top;i>=top-y+1;i--)
					printf("%d ",a[i]);
				printf("\n");
				top-=y;
			}
		}
	}
	return 0;
}

标签:nn,删除,int,Daimayuan,kk,xx,Online,Judge,top
From: https://blog.csdn.net/weixin_51110569/article/details/142904177

相关文章

  • 洛谷 P7469 [NOI Online 2021 提高组] 积木小赛(字符串哈希)
    题目传送门解题思路读题后,我们可以发现,字母串  只能从两边删除,于是我们可以枚举一个区间 ,然后在字母串  中匹配(可以用指针来进行匹配),同时可以做字符串哈希去重。注意如果怕被卡,可以用双模哈希;记得开longlong代码#include<bits/stdc++.h>usingnamespacestd;......