POJ 1028 解题报告
2014-11-20 09:00
399 查看
这道题就是按照题目描述实现的。浏览器的backward和forward设计讲得很明白。
1028 | Accepted | 700K | 16MS | G++ | 1987B |
/* ID: thestor1 LANG: C++ TASK: poj1028 */ #include <iostream> #include <fstream> #include <cmath> #include <cstdio> #include <cstring> #include <limits> #include <string> #include <vector> #include <list> #include <set> #include <map> #include <queue> #include <stack> #include <algorithm> #include <cassert> using namespace std; int main() { ios::sync_with_stdio(false); string command, currenturl = "http://www.acm.org/"; stack<string> backwardstack, forwardstack; while (cin >> command && command != "QUIT") { // VISIT : Push the current page on the top of the backward stack, and make the URL specified the new current page. // The forward stack is emptied. if (command == "VISIT") { backwardstack.push(currenturl); cin >> currenturl; while (!forwardstack.empty()) { forwardstack.pop(); } cout << currenturl << endl; } // BACK: Push the current page on the top of the forward stack. Pop the page from the top of the backward stack, making it the new current page. // If the backward stack is empty, the command is ignored. else if (command == "BACK") { if (backwardstack.empty()) { cout << "Ignored" << endl; } else { forwardstack.push(currenturl); currenturl = backwardstack.top(); backwardstack.pop(); cout << currenturl << endl; } } // FORWARD: Push the current page on the top of the backward stack. Pop the page from the top of the forward stack, making it the new current page. // If the forward stack is empty, the command is ignored. else if (command == "FORWARD") { if (forwardstack.empty()) { cout << "Ignored" << endl; } else { backwardstack.push(currenturl); currenturl = forwardstack.top(); forwardstack.pop(); cout << currenturl << endl; } } else { cout << "unkown command:" << command << endl; assert(false); } } return 0; }
相关文章推荐
- POJ 2746 约瑟夫问题 解题报告
- poj 2349解题报告
- POJ 2816 红与黑 解题报告
- poj解题报告——2976
- POJ 2677 肿瘤检测 解题报告
- POJ 1463 解题报告
- poj 2377 Bad Cowtractors 解题报告
- 解题报告:POJ_2923 Relocation 状态压缩+01背包
- POJ3616 解题报告
- poj 2013 Symmetric Order 解题报告
- poj解题报告——2528
- POJ 2105解题报告
- POJ 2420 模拟退火 解题报告
- POJ2236 解题报告
- poj解题报告——poj 1528 Perfection
- POJ1703 解题报告
- poj解题报告——1363
- PKU POJ 2524 解题报告(并查集)
- POJ 3083 Children of the Candy Corn (DFS+BFS) -- 解题报告
- poj 3368 Frequent values解题报告【线段树】