pku 1028 Web Navigation(双栈模拟)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAXCMDLEN 10
#define MAXURLLEN 75
#define MAXSTKSIZE 105
char cmd[MAXCMDLEN];
char inURL[MAXURLLEN];
char *curURL;
char stkBackward[MAXSTKSIZE][MAXURLLEN];
char stkForward[MAXSTKSIZE][MAXURLLEN];
int bTop, fTop;
char initURL[] = "http://www.acm.org/";
int main()
{
#ifndef ONLINE_JUDGE
freopen("indata.txt", "r", stdin);
#endif
bTop = fTop = -1;
curURL = initURL;
while(scanf("%s", cmd) != EOF)
{
switch(cmd[0])
{
case 'V':
strcpy(stkBackward[++bTop], curURL);
scanf("%s", inURL);
curURL = inURL;
printf("%s\n", curURL);
fTop = -1;
break;
case 'B':
if(bTop == -1) printf("Ignored\n");
else
{
strcpy(stkForward[++fTop], curURL);
curURL = stkBackward[bTop--];
printf("%s\n", curURL);
}
break;
case 'F':
if(fTop == -1) printf("Ignored\n");
else
{
strcpy(stkBackward[++bTop], curURL);
curURL = stkForward[fTop--];
printf("%s\n", curURL);
}
break;
default:
bTop = fTop = -1;
curURL = initURL;
break;
}
}
return 0;
}
浙公网安备 33010602011771号