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

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

ZOJ 1061 Web Navigation_數據結構_棧

Posted on 2011-09-05 22:47 acpeng 閱讀(583) 評論(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>
            欧美电影资源| 99精品免费网| 激情久久综合| 伊人激情综合| 亚洲欧洲美洲综合色网| 亚洲九九九在线观看| 一区二区三区 在线观看视| 妖精成人www高清在线观看| 亚洲无亚洲人成网站77777| 亚洲欧美一区二区激情| 久久久久久久久久码影片| 免费欧美日韩| 亚洲精品黄网在线观看| aⅴ色国产欧美| 亚洲欧美综合国产精品一区| 欧美在线网址| 欧美精品久久一区二区| 国产精品国产三级国产a| 国产视频久久网| 亚洲娇小video精品| 亚洲一区在线直播| 久久一区免费| 亚洲午夜黄色| 欧美高清视频在线| 国产亚洲欧美日韩精品| 日韩一二三在线视频播| 久久夜色精品国产欧美乱极品 | 久久综合国产精品| 欧美日韩一二三四五区| 国产一区二区日韩精品| 亚洲午夜精品久久| 欧美96在线丨欧| 香蕉久久久久久久av网站| 欧美伦理91| 亚洲国产日韩欧美在线图片| 久久精品国产免费| 亚洲午夜av电影| 欧美黑人一区二区三区| 黄色日韩在线| 久久精品国产亚洲高清剧情介绍| 日韩午夜av电影| 看欧美日韩国产| 国产乱码精品一区二区三区不卡| 麻豆国产va免费精品高清在线| 欧美三区免费完整视频在线观看| 欧美日韩国产二区| 亚洲国产精品悠悠久久琪琪| 久久九九免费视频| 国产精品99久久久久久宅男| 欧美裸体一区二区三区| 亚洲精品国产精品国产自| 免费成人在线观看视频| 久久精品国产精品亚洲| 国产日韩亚洲欧美综合| 亚洲最快最全在线视频| 亚洲欧洲视频在线| 欧美a级大片| 亚洲日韩欧美视频| 亚洲福利视频免费观看| 欧美成人激情在线| 欧美日韩三级| 一区二区av在线| 亚洲精品网站在线播放gif| 欧美wwwwww| 亚洲精品欧美日韩| 亚洲欧洲一区二区在线播放| 麻豆成人av| 一本大道av伊人久久综合| 亚洲经典自拍| 欧美日韩一区三区| 先锋亚洲精品| 欧美一级视频免费在线观看| 国内成人精品一区| 欧美二区在线| 欧美日韩精品中文字幕| 亚洲网站在线| 欧美亚洲免费电影| 欧美电影在线| 亚洲欧美激情精品一区二区| 亚洲综合日本| 18成人免费观看视频| 亚洲国产天堂久久国产91| 国产精品a久久久久久| 欧美一区二区在线播放| 久久天天躁夜夜躁狠狠躁2022| 亚洲经典自拍| 亚洲午夜成aⅴ人片| 怡红院av一区二区三区| 亚洲伦伦在线| 国产午夜精品全部视频在线播放| 蜜桃久久精品乱码一区二区| 欧美精品在线视频| 久久久www成人免费毛片麻豆| 美女国产精品| 亚洲免费视频观看| 久久久午夜电影| 亚洲网站啪啪| 久久亚洲精品视频| 午夜久久久久久| 麻豆av一区二区三区| 销魂美女一区二区三区视频在线| 久久男人资源视频| 欧美亚洲一区| 欧美视频在线观看| 欧美成va人片在线观看| 国产精品私房写真福利视频 | 国内精品伊人久久久久av影院 | 午夜精品久久99蜜桃的功能介绍| 久久成人18免费观看| 免费在线视频一区| 91久久夜色精品国产九色| 欧美日本在线播放| 久久久久免费视频| 欧美日韩综合网| 欧美国产综合| 红桃视频亚洲| 亚洲欧美日韩国产中文 | 久久夜色精品国产亚洲aⅴ| 亚洲欧美三级在线| 欧美肉体xxxx裸体137大胆| 亚洲国产精品久久精品怡红院| 国产亚洲一本大道中文在线| 亚洲卡通欧美制服中文| 亚洲黄色大片| 久久一区免费| 麻豆精品一区二区av白丝在线| 国产精品日本| 中文精品在线| 亚洲一区二区综合| 欧美精品情趣视频| 欧美激情麻豆| 91久久国产自产拍夜夜嗨| 久久久噜久噜久久综合| 久久亚洲综合色一区二区三区| 国产日韩精品入口| 性高湖久久久久久久久| 欧美在线视频a| 国产女主播在线一区二区| 亚洲免费中文字幕| 欧美一区二区三区喷汁尤物| 国产精品久久国产精品99gif| 一区二区三区高清| 国产精品国产福利国产秒拍| 日韩天堂av| 亚洲欧美一区二区激情| 国产精品一区二区女厕厕| 亚洲欧美日韩一区二区| 久久久久国产一区二区三区四区| 国产一区在线免费观看| 久久米奇亚洲| 欧美高清在线精品一区| 夜夜爽www精品| 国产美女扒开尿口久久久| 午夜亚洲福利| 欧美国产亚洲精品久久久8v| 日韩亚洲成人av在线| 国产精品av一区二区| 欧美一区二区视频在线| 欧美成人免费在线观看| 99天天综合性| 国产区亚洲区欧美区| 久久精品国产第一区二区三区| 欧美激情一级片一区二区| 亚洲视屏在线播放| 国产一区二区你懂的| 欧美jizz19性欧美| 亚洲性色视频| 久久偷窥视频| 亚洲一区二区精品| 国语自产在线不卡| 欧美日韩不卡合集视频| 午夜免费在线观看精品视频| 欧美激情亚洲一区| 香蕉尹人综合在线观看| 亚洲精品色婷婷福利天堂| 国产精品天天摸av网| 免费在线国产精品| 亚洲综合久久久久| 91久久精品久久国产性色也91| 亚洲欧美综合网| 亚洲精品国产精品国自产在线| 国产精品久久久久aaaa樱花| 鲁大师成人一区二区三区| 亚洲女ⅴideoshd黑人| 亚洲美女电影在线| 蜜臀a∨国产成人精品| 亚洲一区二区在线看| 亚洲国产aⅴ天堂久久| 国产欧美69| 欧美私人啪啪vps| 麻豆国产精品va在线观看不卡| 欧美亚洲日本一区| 亚洲视频欧洲视频| 亚洲精品美女在线观看| 免费黄网站欧美| 久久婷婷色综合| 久久高清国产| 欧美亚洲在线| 午夜久久电影网| 亚洲制服av|