题解:
利用两个stack模仿网站的前进后退和访问
代码:
#include<iostream>
#include<string>
#include<stack>
using namespace std;
int main() {
stack<string > backward, forward;
string c;
string cur = "http://www.acm.org/";
while(cin >> c && c != "QUIT") {
if(c == "VISIT") {
backward.push(cur);
cin >> cur;
cout << cur << "\n";
while(!forward.empty())
forward.pop();
} else if(c == "BACK") {
if(backward.empty())
cout << "Ignored" << "\n";
else {
forward.push(cur);
cur = backward.top();
backward.pop();
cout << cur << "\n";
}
} else {
if(forward.empty())
cout << "Ignored" << "\n";
else {
backward.push(cur);
cur = forward.top();
forward.pop();
cout << cur << "\n";
}
}
}
return 0;
}