POJ 1028 Web Navigation

http://poj.org/problem?id=1028

 1 
 2
 3    
 4    /* ***********************************************
 5    Author :111qqz
 6    Created Time :2016年02月19日 星期五 15时45分01秒
 7    File Name :1028.cpp
 8    ************************************************ */
 9    
10    #include <algorithm>
11    #include <cstdio>
12    #include <iostream>
13    #include <cstring>
14    #include <string>
15    #include <cmath>
16    #include <map>
17    #include <stack>
18    #include <queue>
19    
20    using namespace std;
21    typedef long long LL;
22    const int inf = 8E8;
23    stack<string> backstack;
24    stack<string> forwardstack;
25    string cur;
26    string cmd;
27    int main()
28    {
29        cur ="http://www.acm.org/";
30    
31        while (cin>>cmd)
32        {
33            if (cmd=="QUIT")
34            {
35                break;
36            }
37            if (cmd=="BACK")
38            {
39                if (backstack.empty())
40                {
41                    cout<<"Ignored"<<endl;
42                    continue;
43                }
44                forwardstack.push(cur);
45                cur=backstack.top();
46                backstack.pop();
47                cout<<cur<<endl;
48            }
49            if (cmd=="FORWARD")
50            {
51                if (forwardstack.empty())
52                {
53                    cout<<"Ignored"<<endl;
54                    continue;
55                }
56                backstack.push(cur);
57                cur=forwardstack.top();
58                forwardstack.pop();
59                cout<<cur<<endl;
60            }
61            if (cmd=="VISIT")
62            {
63                backstack.push(cur);
64    
65                cin>>cur;
66                while (!forwardstack.empty())  forwardstack.pop();
67                cout<<cur<<endl;
68    
69            }
70        }
71    
72    
73    	return 0;
74    }
75    
76