青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 21, comments - 2, trackbacks - 0, articles - 0

ZOJ 1061 Web Navigation_數據結構_棧

Posted on 2011-09-05 22:47 acpeng 閱讀(576) 評論(0)  編輯 收藏 引用 所屬分類: ACM程序
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=61
數據結構,用C寫的棧,不用STL確實復雜多了,WA了幾次~
Standard web browsers contain features to move backward and forward among the pages recently visited. One way to implement these features is to use two stacks to keep track of the pages that can be reached by moving backward and forward. In this problem, you are asked to implement this.

The following commands need to be supported:

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.

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.

VISIT <url>: 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.

QUIT: Quit the browser.

Assume that the browser initially loads the web page at the URL http://www.acm.org/


This problem contains multiple test cases!

The first line of a multiple input is an integer N, then a blank line followed by N input blocks. Each input block is in the format indicated in the problem description. There is a blank line between input blocks.

The output format consists of N output blocks. There is a blank line between output blocks.


Input

Input is a sequence of commands. The command keywords BACK, FORWARD, VISIT, and QUIT are all in uppercase. URLs have no whitespace and have at most 70 characters. You may assume that no problem instance requires more than 100 elements in each stack at any time. The end of input is indicated by the QUIT command.

Output

For each command other than QUIT, print the URL of the current page after the command is executed if the command is not ignored. Otherwise, print "Ignored". The output for each command should be printed on its own line. No output is produced for the QUIT command.

Sample Input

1

VISIT http://acm.ashland.edu/
VISIT http://acm.baylor.edu/acmicpc/
BACK
BACK
BACK
FORWARD
VISIT http://www.ibm.com/
BACK
BACK
FORWARD
FORWARD
FORWARD
QUIT

Sample Output

http://acm.ashland.edu/
http://acm.baylor.edu/acmicpc/
http://acm.ashland.edu/
http://www.acm.org/
Ignored
http://acm.ashland.edu/
http://www.ibm.com/
http://acm.ashland.edu/
http://www.acm.org/
http://acm.ashland.edu/
http://www.ibm.com/
Ignored

AC代碼:

#include<stdio.h>
#include
<string.h>
#include
<malloc.h>
#define StackSize 105
typedef 
struct
{
    
char elemt[StackSize][73];
    
int top;
}
Stack;
void InitStack(Stack *S)
{
      S
->top=-1;
}

int ElemtNum(Stack *S)
{
    
return (S->top)+1;
}

int IsFull(Stack *S)
{
    
return(S->top==StackSize-1?1:0);
}

int PushStack(Stack *S,char *x)
{
    
if(IsFull(S))  
        
return 0;
    S
->top++;
    memset(S
->elemt[S->top],'\0',sizeof(S->elemt[S->top]));
    strcpy(S
->elemt[S->top],x);
    
return 1;
}

int PopStack(Stack *S,char *x)
{  
    
if(ElemtNum(S)==0)
        
return 0;
    memset(x,
0,sizeof(x));
      strcpy(x,S
->elemt[S->top]);
    memset(S
->elemt[S->top],0,sizeof(S->elemt[S->top]));
    S
->top--;
      
return 1;
}

int GetTopElemt(Stack *S,char *x)
{
    
if(ElemtNum(S)==0)
        
return 0;
      memset(x,
0,sizeof(x));
      strcpy(x,S
->elemt[S->top]);
      
return 1;
}

int main()
{
    Stack 
*sBack,*sForward;
    sBack
=(Stack *)malloc(sizeof(Stack));
    sForward
=(Stack *)malloc(sizeof(Stack));
    
int T;char str[73]="\0",comd[8]="\0",tmp[73]="\0";
    scanf(
"%d",&T);
    
while(T--)
    
{
        InitStack(sBack); InitStack(sForward);
        PushStack(sBack,
"http://www.acm.org/");
        
while(1)
        
{
            memset(comd,
0,sizeof(comd));
            scanf(
"%s",comd);
            
if(strcmp(comd,"BACK")==0)
            
{
                
if(ElemtNum(sBack)==1)
                
{
                    printf(
"Ignored\n");
                    
continue;
                }

                PopStack(sBack,tmp);
                PushStack(sForward,tmp);
                
if(GetTopElemt(sBack,tmp)==1)
                    printf(
"%s\n",tmp);
            }

            
else if(strcmp(comd,"FORWARD")==0)
            
{
                
if(ElemtNum(sForward)==0)
                
{
                    printf(
"Ignored\n");
                    
continue;
                }

                PopStack(sForward,tmp);
                PushStack(sBack,tmp);
                
if(GetTopElemt(sBack,tmp)==1)
                    printf(
"%s\n",tmp);
            }

            
else if(strcmp(comd,"VISIT")==0)
            
{
                memset(str,
0,sizeof(str));
                scanf(
"%s",str);
                printf(
"%s\n",str);
                PushStack(sBack,str);
                InitStack(sForward);
            }

            
else if(strcmp(comd,"QUIT")==0)
                
break;
        }

        
if(T>0) printf("\n");
    }

    free(sBack);free(sForward);
    
return 0;
}


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品久久久久久久7电影 | 欧美高清不卡在线| 欧美在线国产精品| 激情综合色丁香一区二区| 久久久久99| 久久综合中文色婷婷| 亚洲精品日韩激情在线电影| 亚洲美女福利视频网站| 欧美日韩在线观看视频| 午夜精彩视频在线观看不卡| 午夜在线精品偷拍| 亚洲激情小视频| 亚洲视频在线观看| 亚洲第一精品夜夜躁人人爽| 亚洲国产精品一区二区尤物区| 欧美日韩二区三区| 欧美在线网址| 欧美国产国产综合| 欧美亚洲日本网站| 欧美波霸影院| 亚洲欧美中文在线视频| 久久亚洲春色中文字幕久久久| 99热这里只有成人精品国产| 性色av香蕉一区二区| 亚洲三级色网| 午夜在线精品偷拍| 一区二区三区国产精华| 久久九九久久九九| 亚洲一区二区三区四区中文| 久久福利电影| 性高湖久久久久久久久| 欧美精品v国产精品v日韩精品| 欧美亚洲日本一区| 欧美久色视频| 老司机aⅴ在线精品导航| 欧美午夜精品久久久久久人妖| 暖暖成人免费视频| 国产精品视频免费| 亚洲精品日产精品乱码不卡| 在线看视频不卡| 性色av一区二区三区| 亚洲一级片在线看| 免费在线观看成人av| 欧美自拍偷拍午夜视频| 欧美日韩国产va另类| 欧美成人精品在线播放| 国产婷婷色一区二区三区四区| 日韩视频免费在线| 亚洲欧洲精品一区二区三区不卡| 欧美一区二区精美| 午夜电影亚洲| 国产精品黄色在线观看| 亚洲精品美女久久久久| 亚洲激情精品| 免费在线成人av| 国产精品啊啊啊| 日韩午夜激情电影| 中日韩视频在线观看| 欧美激情综合在线| 亚洲国产精品视频| 亚洲免费观看高清完整版在线观看熊 | 欧美日韩一区二区免费在线观看| 欧美激情在线狂野欧美精品| 一区二区三区在线观看国产| 久久成人精品电影| 久久蜜臀精品av| 国产最新精品精品你懂的| 午夜宅男欧美| 美女黄毛**国产精品啪啪| ●精品国产综合乱码久久久久| 久久激情一区| 欧美国产先锋| 在线亚洲国产精品网站| 国产精品国产自产拍高清av王其 | 亚洲第一精品福利| 99re热精品| 欧美小视频在线| 亚洲综合视频一区| 美女国内精品自产拍在线播放| 亚洲国产精品久久久久秋霞影院 | 一区二区三区无毛| 欧美成人久久| 一本色道久久综合狠狠躁的推荐| 亚洲一区二区不卡免费| 国产午夜精品视频免费不卡69堂| 久久久久久亚洲精品杨幂换脸 | 日韩视频在线一区| 久久精品导航| 亚洲欧洲三级| 国产精品久久久久久久久动漫| 午夜一区二区三区不卡视频| 欧美激情第一页xxx| 亚洲在线观看视频| 国内精品久久久久久久影视麻豆| 久久蜜臀精品av| 99在线精品视频在线观看| 久久精品成人欧美大片古装| 亚洲日本欧美天堂| 国产伦精品一区二区三区高清| 久久久久天天天天| 亚洲视频精品| 欧美大胆a视频| 小辣椒精品导航| 亚洲精品裸体| 国语自产精品视频在线看| 欧美激情视频一区二区三区免费| 中日韩高清电影网| 欧美激情小视频| 久久久国产精品亚洲一区| 亚洲理论电影网| 韩国av一区二区三区在线观看| 欧美精品色一区二区三区| 久久av一区二区三区| 亚洲精品之草原avav久久| 国产日韩精品在线观看| 欧美人成网站| 久久久久国产精品一区| 亚洲一区观看| 99re66热这里只有精品4| 欧美大片在线看| 久久国产精品免费一区| 亚洲一区二区三区高清不卡| 最新国产乱人伦偷精品免费网站| 国产三级欧美三级| 国产精品国产福利国产秒拍| 欧美电影在线观看完整版| 久久久久久高潮国产精品视| 亚洲一区二区成人在线观看| 亚洲欧洲一区二区天堂久久| 免费看的黄色欧美网站| 久久久久久久性| 欧美一区影院| 欧美与黑人午夜性猛交久久久| 亚洲一区二区三区中文字幕在线 | 欧美一区二区三区精品电影| 中文网丁香综合网| 99精品热视频| 日韩一级不卡| 一本不卡影院| 亚洲视频在线二区| 亚洲图片在区色| 亚洲天堂免费观看| 亚洲自拍高清| 久久精品盗摄| 麻豆久久久9性大片| 免费成人网www| 欧美黑人在线播放| 亚洲福利视频免费观看| 欧美成人精品在线播放| 欧美激情网友自拍| 亚洲精品你懂的| 在线视频一区二区| 亚洲欧美日韩一区| 久久www成人_看片免费不卡| 久久久精品tv| 欧美大片一区二区| 欧美色图天堂网| 国产精品一区2区| 黄色av一区| 亚洲精品乱码视频| 亚洲欧美久久久久一区二区三区| 校园春色综合网| 美女诱惑黄网站一区| 91久久亚洲| 亚洲一区999| 久久久精品性| 欧美人与禽猛交乱配| 国产精品日本欧美一区二区三区| 国产精品亚洲产品| 曰韩精品一区二区| 亚洲网在线观看| 久久久久久国产精品mv| 亚洲黄一区二区三区| 亚洲性色视频| 蜜臀久久99精品久久久画质超高清 | 亚洲男女自偷自拍| 久久久久久久久久久久久久一区| 欧美aaa级| 国产欧美日韩视频一区二区| 亚洲片在线观看| 香蕉国产精品偷在线观看不卡| 欧美www视频| 中日韩男男gay无套 | 99re6热只有精品免费观看 | 欧美在线3区| 欧美日韩国产区| 极品少妇一区二区| 亚洲一二区在线| 欧美国产三区| 欧美中文字幕第一页| 国产精品国产三级国产普通话99 | 久久大香伊蕉在人线观看热2| 欧美人与性禽动交情品 | 国产美女诱惑一区二区| 亚洲精品一区二区在线观看| 欧美中在线观看| 亚洲最新在线| 欧美精品123区| 亚洲福利视频一区| 浪潮色综合久久天堂|