Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

啥状况 , 那位大哥帮忙解决下,一直WA

Posted by 150316 at 2009-08-05 16:44:39 on Problem 1028
// 08软件 谷恺
// #1028
#include <stdio.h>
#include <iostream>
#include <string.h>

#define MAX_CH 70
#define MAX_URL 100

using namespace std;

typedef struct
{
	char url[MAX_URL][MAX_CH];
	int top;
}seqstack;

void del(seqstack * sta)
{
	sta->top--;
}

int bak(seqstack * bac, seqstack * fwd, char cur[])
{
	if (bac->top == -1)
	{
		return 0;
	}
	else
	{
		// 把cur存到栈fwd
		fwd->top++;
		strcpy(fwd->url[fwd->top], cur);
	
		strcpy(cur, bac->url[bac->top]);
		del(bac);

		return 1;
	}

	return 1;
}

int fowd(seqstack * bac, seqstack * fwd, char cur[])
{
	if (fwd->top == -1)
	{
		return 0;
	}
	else
	{
		// 把cur存到栈bac
		bac->top++;
		strcpy(bac->url[bac->top], cur);

		strcpy(cur, fwd->url[fwd->top]);
		del(fwd);

		return 1;
	}

	return 1;
}

void init(seqstack * stk)
{
	stk->top = -1;
}

int main()
{
	seqstack back;
	seqstack fwd;

	char cur[MAX_CH] = {"http://www.acm.org/"};
	char temp[MAX_CH] = {0};
	char res[200][MAX_CH];

	int cnt = 0;
	init(&back);
	init(&fwd);
	while ( (cin >> temp) && strcmp(temp, "QUIT") != 0)
	{
		char url[MAX_CH];
		if (strcmp(temp, "VISIT")==0) // VISIT PAGE
		{
			back.top++;
			strcpy(back.url[back.top], cur);
			init(&fwd);
			cin >> cur;
			strcpy(res[cnt], cur);
			cout << res[cnt] << endl;
		}
		else
		{
			if (strcmp(temp, "FORWARD")==0)
			{
				int t;
				t = fowd(&back, &fwd, cur); // function forward
				if(t == 0)
				{
					strcpy(res[cnt], "Ignored");
					cout << res[cnt] << endl;
				}
				else
				{
					strcpy(res[cnt], cur);
					cout << res[cnt] << endl;
				}
			}
			else
			{
				if (strcmp(temp, "BACK")==0)
				{
					int t;
					t = bak(&back, &fwd, cur);// function back
					if(t == 0)
					{
						strcpy(res[cnt], "Ignored");
						cout << res[cnt] << endl;
					}
					else
					{
						strcpy(res[cnt], cur);
						cout << res[cnt] << endl;
					}
				}
			}
		}
		cnt++;
	}

	/*for (int i = 0; i < cnt; i++)
	{
		cout << res[i] << endl;
	}*/

	return 0;
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator