stack的应用

#include<iostream>
#include<stack>
#include<stdio.h>
#include<stdlib.h>
#include<string.h> #define MAX 128 using namespace std; stack<char *> back_stack;
stack<char *> forward_stack; int main() {
char raw[MAX];
char * now;
char * s;
now = (char *)malloc(sizeof(char) * 128);
strcpy(now, "http://www.acm.org/");
while(1) {
cin >> raw;
if(raw[0] == 'Q') {
break;
}
if(raw[0] == 'V') {
cin >> raw;
back_stack.push(now);
s = (char *)malloc(sizeof(char) * MAX);
strcpy(s, raw);
now = s;
printf("%s\n", s);
while(!forward_stack.empty()) {
forward_stack.pop();
}
}
else if(raw[0] == 'B') {
if(back_stack.size() == 0) {
printf("Ignored\n");
}
else {
s = back_stack.top();
back_stack.pop();
printf("%s\n", s);
forward_stack.push(now);
now = s;
}
}
else if(raw[0] == 'F') {
if(forward_stack.size() == 0) {
printf("Ignored\n");
}
else {
s = forward_stack.top();
forward_stack.pop();
printf("%s\n", s);
back_stack.push(now);
now = s;
}
}
else {
;
}
}
while(back_stack.size() != 0) {
s = back_stack.top();
free(s);
back_stack.pop();
}
while(forward_stack.size() != 0) {
s = forward_stack.top();
free(s);
forward_stack.pop();
}
return 0;
}

  

【poj解题】1028的更多相关文章

  1. POJ解题经验交流

    感谢范意凯.陈申奥.庞可.杭业晟.王飞飏.周俊豪.沈逸轩等同学的收集整理.   题号:1003 Hangover求1/2+1/3+...1/n的和,问需多少项的和能超过给定的值 类似于Zerojudg ...

  2. 【poj解题】3664

    简单,两次排序 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 500 ...

  3. 【poj解题】3663

    排序, 遍历,需要裁减 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX ...

  4. 【poj解题】1308

    判断一个图是否是一个树,树满足一下2个条件即可:1. 边树比node数少12. 所有node的入度非0即1 节点数是0的时候,空树,合法树~ 代码如下 #include <stdio.h> ...

  5. [poj解题]1017

    Packets Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 41014   Accepted: 13776 Descrip ...

  6. 洛谷 P1731 [NOI1999]生日蛋糕 && POJ 1190 生日蛋糕

    题目传送门(洛谷)  OR 题目传送门(POJ) 解题思路: 一道搜索题,暴力思路比较容易想出来,但是这道题不剪枝肯定会TLE.所以这道题难点在于如何剪枝. 1.如果当前状态答案已经比我们以前某个状态 ...

  7. poj 1028

    http://poj.org/problem?id=1028 题意(水):做一个游览器的历史记录. back:后退到上一个页面,当上一个页面没有时,输出ignored. forward:向前一个页面, ...

  8. POJ 1003 解题报告

    1.问题描述: http://poj.org/problem?id=1003 2.解题思路: 最直观的的想法是看能不能够直接求出一个通项式,然后直接算就好了, 但是这样好水的样子,而且也不知道这个通项 ...

  9. POJ 1004 解题报告

    1.题目描述: http://poj.org/problem?id=1004 2.解题过程 这个题目咋一看很简单,虽然最终要解出来的确也不难,但是还是稍微有些小把戏在里面,其中最大的把戏就是float ...

随机推荐

  1. ecshop订单状态对应值详解

    ecshop的订单状态都是在ecs_order_info表中的字段里. 订单状态 未确认 取消 确认 已付款 配货中 已发货 已收货 退货 order_status 0 2 1 1 1 5 5 4 s ...

  2. 上传下载文件, 同时部署在webapps下, 而不是项目下,防止重新部署tomcat, 上传文件消失

    前端上传 <a href='javascript:upload("+data[i].id+")' title='Upload Report'> <img src= ...

  3. LVS + keepalived + tomcat负载均衡及高可用实现(初级)

    1.首先检测Linux服务器是否支持ipvs 执行如下命令:modprobe -l|grep ipvs 输出: kernel/net/netfilter/ipvs/ip_vs.ko kernel/ne ...

  4. windows下编译Android版本的boost库文件

    1.起因: 手上有一个用到了boost的asio库和thread库的工程要编译到手机上(Android版本和ios版本),本文只介绍如何编译到Android版本,ios版本之后再介绍,也许就不介绍了( ...

  5. UVA - 11732 "strcmp()" Anyone?左兄弟右儿子trie

    input n 2<=n<=4000 s1 s2 ... sn 1<=len(si)<=1000 output 输出用strcmp()两两比较si,sj(i!=j)要比较的次数 ...

  6. javascript语句语义大全(6)

    var d = new Date();//创建当前日期对象var d = new Date('2016/03/22');//允许var d = new Date('2016/3/22');//允许va ...

  7. HDU1969:Pie(二分)

    Pie Time Limit : 5000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submissio ...

  8. 逆序一个8bit的2进制数

  9. PAT (Advanced Level) 1106. Lowest Price in Supply Chain (25)

    简单dfs #include<cstdio> #include<cstring> #include<cmath> #include<vector> #i ...

  10. FusionCharts使用问题及解决方法(五)-FusionCharts常见问题大全

    在前4篇文章中,我们总结了FusionCharts XT图表使用中的一些常见问题(FAQ)及解决方法,本文继续讨论FusionCharts使用者常见的一些复杂报错及错误的调试/解决方法. 问题描述:是 ...