码迷,mamicode.com
首页 > Web开发 > 详细

1028-WEB Navigation

时间:2015-02-17 23:48:49      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:poj 1028-web navigation

题意不重要
两点:
这一题一开始想用带空格的字符数组做,后来发现完全没必要(看代码)
第二点 C++中有堆栈的结构,一开始是用数组做的
易错之处:
visit:一个是forward要清空
      一个是先把当前的存进back 再输入新的当前网页
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <stack>

using namespace std;

string str;
stack<string> backward;
stack<string> forward;
string current = "http://www.acm.org/";

int main()
{
    //freopen("data.in", "rb", stdin);
    while(cin >> str) {
        if(str == "QUIT")
            break;
        else if(str == "VISIT") {
            backward.push(current);
            cin >> current;
            cout << current << endl;
            while(!forward.empty())
                forward.pop();
        }
        else if(str == "BACK") {
            if(!backward.empty()) {
                forward.push(current);
                current = backward.top();
                backward.pop();
                cout << current << endl;
            }
            else
                cout << "Ignored" << endl;
        }
        else if(str == "FORWARD") {
            if(!forward.empty()) {
                backward.push(current);
                current = forward.top();
                forward.pop();
                cout << current << endl;
            }
            else
                cout << "Ignored" << endl;
        }
    }
    
    return 0;
}

//////////////////别人的


我的:


# include <iostream># include <cstdio># include <string># include <cmath>using namespace std;int main(){
	string back[101];
	string forward[101];
	string cur="http://www.acm.org/";
	string str;
	int b=0,f=0;
	cin>>str;
	while(str!="QUIT")
	{
		if(str=="VISIT")
		{
			back[b++]=cur;
			cin>>cur;
			f=0;
			cout<<cur<<endl;
		}
		else if(str=="BACK")
		{
			if(b==0)
			{
				cout<<"Ignored"<<endl;
			}
			else
			{
				forward[f++]=cur;
				cur=back[--b];
				cout<<cur<<endl;
			}
		}
		else if(str=="FORWARD")
		{
			if(f==0)
			{
				cout<<"Ignored"<<endl;
			}
			else
			{
				back[b++]=cur;
				cur=forward[--f];
				cout<<cur<<endl;
			}
		}
		cin>>str;
	}
	return 0;}


1028-WEB Navigation

标签:poj 1028-web navigation

原文地址:http://7938122.blog.51cto.com/7928122/1614710

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!