赞
踩
10
VISIT https://www.jisuanke.com/course/476
VISIT https://www.taobao.com/
BACK
BACK
FORWARD
FORWARD
BACK
VISIT https://www.jisuanke.com/course/429 FORWARD
BACK
https://www.jisuanke.com/course/476
https://www.taobao.com/
https://www.jisuanke.com/course/476
Ignore
https://www.taobao.com/
Ignore
https://www.jisuanke.com/course/476
https://www.jisuanke.com/course/429
Ignore
https://www.jisuanke.com/course/476
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; // 操作次数 cin >> n; string op; // 操作类型 string wang; // 网址 stack<string> q; // 栈存储网址 bool isB = 1; // 是否可以回退 bool isQ = 0; // 是否可以前进 string next; // 存储前进一次后的网址 while (n--) { cin >> op; if (op == "VISIT") { cin >> wang; cout << wang << '\n'; q.push(wang); isQ = 0; // 输入网址后无法前进 isB = 1; // 输入网址后可以回退(但是后面要特判q.size()<2不能回退) } else if (op == "BACK") { if (isB == 0 || q.size() < 2) // isB为0或者q.size()<2下无法回退 { cout << "Ignore" << '\n'; continue; } next = q.top(); // 回退时要先记录next网址 q.pop(); cout << q.top() << '\n'; // 输出回退后的网址 isQ = 1; // 回退后可前进 isB = 0; // 回退后不可再次回退 } else { isB = 1; // 读入前进操作后可回退 if (isQ) { q.push(next); isQ = 0; // 前进后不可前进 cout << q.top() << '\n'; } else cout << "Ignore" << '\n'; } } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。