题目:http://www.lightoj.com/volume_showproblem.php?problem=1113
题意:用栈模拟浏览器
思路:用两个栈直接模拟即可,水题。。。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <stack>
#include <string>
using namespace std;
const int N = 110;
int cas;
int main()
{
int t;
char s[N];
string cur;
scanf("%d", &t);
while(t--)
{
printf("Case %d:\n", ++cas);
stack<string> set_back, set_forward;
cur = "http://www.lightoj.com/";
while(scanf("%s", s), s[0] != 'Q')
{
if(s[0] == 'V')
{
scanf("%s", s);
puts(s);
set_back.push(cur);
while(! set_forward.empty()) set_forward.pop();
cur = s;
}
else if(s[0] == 'B')
{
if(set_back.empty()) puts("Ignored");
else set_forward.push(cur), cur = set_back.top(), set_back.pop(), puts(cur.c_str());
}
else if(s[0] == 'F')
{
if(set_forward.empty()) puts("Ignored");
else set_back.push(cur), cur = set_forward.top(), set_forward.pop(), puts(cur.c_str());
}
}
}
return 0;
}