• poj 1028


    http://poj.org/problem?id=1028

    题意(水):做一个游览器的历史记录。

    back:后退到上一个页面,当上一个页面没有时,输出ignored. 

    forward:向前一个页面,但此页面为最前的页面时,输出ignored. 

    vista:游览所指定的页面。

    quit:退出。

    解题思路:题目是说用栈,但不用栈也是可以的。就用纯数组来模拟就栈。

    我用的是string类型,这个类型有个好处,就是比较不用strcmp函数,还有输入方便,直接cin就行。但其实本质就是char[];

     1 #include <stdio.h>
     2 #include <string.h>
     3 #include <string>
     4 #include <iostream>
     5 
     6 using namespace std;
     7 
     8 string str[1000],str1[1000];     //记得数组不能开太小,开太小就会RE。
     9 
    10 int main()
    11 {
    12     int n=0,mark=0,now=0;
    13     str1[0]="http://www.acm.org/";    //题目说最原始的页面就是这个acm的。
    14     while(cin>>str[n]&&str[n]!="QUIT"){
    15         if(str[n]=="VISIT"){
    16                 mark++;
    17                 now++;
    18                 if(mark>now) mark=now;   //页面的覆盖。
    19                 cin>>str1[mark];
    20             }
    21         if(str[n]=="VISIT") {
    22             cout<<str1[mark]<<endl;
    23         }
    24         if(str[n]=="BACK") {
    25             if(now==0) cout<<"Ignored"<<endl;  
    26             else cout<<str1[--now]<<endl;
    27         }
    28         if(str[n]=="FORWARD"){
    29             if(now==mark) cout<<"Ignored"<<endl;
    30             else cout<<str1[++now]<<endl;
    31         }
    32             n++;
    33     }
    34     return 0;
    35 }
  • 相关阅读:
    NSDate
    Info.plist字段列表详解
    面向对象编程思想以及强、弱引用总结
    分类(类别/Category)与 类扩展(Extension)
    UIAlertView
    SQLite3的运用
    快速创建单例
    C++ 常用设计模式
    I2S 总线学习:2-I2S驱动WM8978
    设计模式的七大原则
  • 原文地址:https://www.cnblogs.com/Tree-dream/p/5499552.html
Copyright © 2020-2023  润新知