3中 换行需谨慎!!!一定要注意换行!!!

3137 栈练习1

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 黄金 Gold
 
 
题目描述 Description

给定一个栈(初始为空,元素类型为整数,且小于等于100),只有两个操作:入栈和出栈。先给出这些操作,请输出最终栈的栈顶元素。  操作解释:1表示入栈,2表示出栈

输入描述 Input Description

N(操作个数)

N个操作(如果是入栈则后面还会有一个入栈元素)

具体见样例(输入保证栈空时不会出栈)

输出描述 Output Description

最终栈顶元素,若最终栈空,输出”impossible!”(不含引号)

样例输入 Sample Input

3

1 2

1 9

2

样例输出 Sample Output

2

数据范围及提示 Data Size & Hint

对于100%的数据  N≤1000 元素均为正整数且小于等于100

分类标签 Tags 点此展开

 
 #include<iostream>
#include<cstdio>
#include<cstring> using namespace std; struct Q{//手写栈
int top;
int stack[];
Q ()
{
top=;
}
void pop()
{
top--;
}
int push(int x)
{
stack[++top]=x;
}
int tops()
{
return stack[top];
}
}q; int main()
{
int n,top=,x,a,b;
scanf("%d",&n);
while(n--)
{
cin>>x;
switch(x)
{
case :
cin>>a;
q.push(a);
break;
case :
if(q.top>)
q.pop();
else {cout<<"impossible!"; return ;}
break;
}
}
if(q.top==) cout<<"impossible!";
else
cout<<q.tops();
return ;
}

3138 栈练习2

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 黄金 Gold
 
 
 
题目描述 Description

(此题与栈练习1相比改了2处:1加强了数据 2不保证栈空时不会出栈)

给定一个栈(初始为空,元素类型为整数,且小于等于100),只有两个操作:入栈和出栈。先给出这些操作,请输出最终栈的栈顶元素。  操作解释:1表示入栈,2表示出栈

输入描述 Input Description

N(操作个数)

N个操作(如果是入栈则后面还会有一个入栈元素)

具体见样例(输入不保证栈空时不会出栈)

输出描述 Output Description

最终栈顶元素,若最终栈空,或栈空时有出栈操作,输出”impossible!”(不含引号)

样例输入 Sample Input

3

1 2

2

2

样例输出 Sample Output

impossible!

数据范围及提示 Data Size & Hint

对于100%的数据  N≤100000 元素均为正整数且小于等于10^8

分类标签 Tags 点此展开

 
 
加强版???数组大一点就行
 #include<iostream>
#include<cstdio>
#include<cstring> using namespace std; struct Q{
int top;
int stack[];
Q ()
{
top=;
}
void pop()
{
top--;
}
int push(int x)
{
stack[++top]=x;
}
int tops()
{
return stack[top];
}
}q; int main()
{
int n,top=,x,a,b;
scanf("%d",&n);
while(n--)
{
cin>>x;
switch(x)
{
case :
cin>>a;
q.push(a);
break;
case :
if(q.top>)
q.pop();
else
{
cout<<"impossible!";
return ;
}
break;
}
}
if(q.top==) cout<<"impossible!";
else
cout<<q.tops();
return ;
}

3139 栈练习3

 时间限制: 2 s
 空间限制: 128000 KB
 题目等级 : 黄金 Gold
 
 
 
题目描述 Description

比起第一题,本题加了另外一个操作,访问栈顶元素(编号3,保证访问栈顶元素时或出栈时栈不为空),现在给出这N此操作,输出结果。

输入描述 Input Description

N

N次操作(1入栈 2出栈 3访问栈顶)

输出描述 Output Description

K行(K为输入中询问的个数)每次的结果

样例输入 Sample Input

6

1  7

3

2

1  9

1  7

3

样例输出 Sample Output

7

7

数据范围及提示 Data Size & Hint

对于50%的数据 N≤1000 入栈元素≤200

对于100%的数据 N≤100000入栈元素均为正整数且小于等于10^4

分类标签 Tags 点此展开

 
 
 
添加了第三个操作。
代码:
 #include<iostream>
#include<cstdio>
#include<cstring> using namespace std; struct Q{
int top;
int stack[];
Q ()
{
top=;
}
void pop()
{
top--;
}
int push(int x)
{
stack[++top]=x;
}
int tops()
{
return stack[top];
}
}q; int main()
{
int n,top=,x,a,b;
scanf("%d",&n);
while(n--)
{
cin>>x;
switch(x)
{
case :
cin>>a;
q.push(a);
break;
case :
q.pop();
break;
case :
cout<<q.tops()<<endl;//就是这里!一定要注意换行
break;
}
}
return ;
}

codevs 3137-3139 栈练习 x的更多相关文章

  1. 栈 练习 Codevs 3137 3138 3139

    3137 栈练习1 时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 给定一个栈(初始为空,元素类型为整数,且小于等于100),只 ...

  2. CODEVS 3139 栈练习3

    3139 栈练习3  时间限制: 2 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 比起第一题,本题加了另外一个操作,访问栈顶元素(编号3,保 ...

  3. CODEVS 3137 栈练习1

    3137 栈练习1 时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 给定一个栈(初始为空,元素类型为整数,且小于等于100),只 ...

  4. codevs 1170 双栈排序

    /* 好题啊 好题啊 而然还是看了一眼题解啊 有那么一点思路 但是离写出代码还很远 考虑必须分开放倒两个栈里的情况 即存在i<j<k 有 a[k]<a[i]<a[j] 这里RM ...

  5. [PHP]全国省市区信息,mysql数据库记录

    下载地址: https://files.cnblogs.com/files/wukong1688/T_Area.zip 或者也可以复制如下内容: CREATE TABLE IF NOT EXISTS ...

  6. jnhs中国的省市县区邮编坐标mysql数据表

    https://blog.csdn.net/sln2432713617/article/details/79412896 -- 1.之前项目中需要全国的省市区数据,在网上找了很多,发现数据要么不全,要 ...

  7. T3139 栈练习3 codevs

    http://codevs.cn/problem/3139/ 题目描述 Description 比起第一题,本题加了另外一个操作,访问栈顶元素(编号3,保证访问栈顶元素时或出栈时栈不为空),现在给出这 ...

  8. T3137 栈练习1 codevs

    codevs.cn/problem/3137 题目描述 Description 给定一个栈(初始为空,元素类型为整数,且小于等于100),只有两个操作:入栈和出栈.先给出这些操作,请输出最终栈的栈顶元 ...

  9. 数据结构--栈 codevs 1107 等价表达式

    codevs 1107 等价表达式 2005年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond     题目描述 Descripti ...

随机推荐

  1. 解析jmeter阶梯加压与请求的计算

    用百度做例子 我们设置阶梯加压线程组的请求参数,如下图 上图表示 1:每隔2秒钟,会在1秒内启动5个线程 2:每次线程加载之后都会运行2s然后开始下一次线程加载 3:最终会加载50个线程并持续运行30 ...

  2. 剑指offer--day12

    1.1 题目:复杂链表的复制:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回 ...

  3. 【Qt开发】几个傻不拉几关于char*和const char*的不兼容问题

    1. string转const char* string s ="abc";constchar* c_s = s.c_str(); 2. const char*转string   ...

  4. 深入理解java:2.1. volatile的使用及其原理

    引言 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”. 可见性的意思是 ...

  5. DOM练习(邓邓版)

    先来图片: 今天直接粘代码: 下面是html: <h4>01.图片切换</h4> <img width = "100" src = "../ ...

  6. 安装配置php及fastadmin

    FastAdmin教程之准备运行环境   一.Node.js http://nodejs.cn/download/ https://npm.taobao.org/mirrors/node/v8.4.0 ...

  7. java中关键字final,finally,finalize的区别

    -final:作为修饰符关键字,有三种用法: 1,如果一个类被声明为final,则意味着它不能被继承. 2,将变量声明为final,则表示它是一个常量,也就是保证它在使用过程中不被修改,被final修 ...

  8. linux NFS 实例

    为了证明是 Allentunsgroup 组起的作用而非用户 [root@NFS_Client ~]# useradd scott1 [root@NFS_Client ~]# passwd scott ...

  9. MongoDB入门_MongoDB安装与配置

    MongoDB运行环境 MongoDB环境:CentOS-6.7-i386 MongoDB版本:MongoDB 2.6.5 ssh工具:xshell 文本编辑工具:vim与editplus++ 编译M ...

  10. [转载]NOR和NAND 存储器的联系与区别

    转载了,对于我理解两种Flash起到了帮助,希望博主继续再接再厉,更新博文 原文地址:存储器的联系与区别">NOR和NAND 存储器的联系与区别作者:暴走的工程师 一.类型理解     ...