pku 1028 模拟法
来源:互联网 发布:知乎 日本中国 编辑:程序博客网 时间:2024/05/19 05:02
题意概述:本题是一个模拟Web浏览器的程序。默认主页为http://www.acm.org/输入为指令,输出为当前页面的网址。输入的指令有4种:
(1)VISIT(后接一个网址)—— 访问它后面紧接着的网址
(2)BACK——访问当前网页的前一个
(3)FORWARD——访问当前网页的后一个
(4)QUIT——退出(关闭浏览器)
思路:必须记录访问过的网址,因为是顺序关系,所以用数组存储,下标为0的元素为默认页;有一个变量记录当前页面在数组中的位置;BACK和FORWARD指令可能出现特殊情况:
(1)BACK到默认页再BACK——输出Ignored
(2)FORWARD到最后一个访问到的页面再FORWARD——输出Ignored
#include<iostream>#include<cstring>using namespace std;int check(char *command)//每个命令对应一个数字 { if(strcmp(command,"VISIT") == 0) return 0; if(strcmp(command,"BACK") == 0) return 1; if(strcmp(command,"FORWARD") == 0) return 2; if(strcmp(command,"QUIT") == 0) return 3;}int main(){ char browsers[101][71] = {"http://www.acm.org/"}; char command[10]; int i = 0;//网站目前位置 int cur = 0;//网站目前个数 while(cin>>command) { int n = check(command); switch(n)//命令选择 { case 0: i++; cur = i; cin>>browsers[i]; cout<<browsers[i]<<endl; break; case 1: i--;//退回上一位置 if(i>=0) cout<<browsers[i]<<endl; else { cout<<"Ignored"<<endl; i++;//已经没有网站可以浏览,位置归0 } break; case 2: i++;//进入下一位置 if(i<=cur) cout<<browsers[i]<<endl; else { cout<<"Ignored"<<endl; i--;//已经没有网站可以浏览,位置归cur } break; case 3: return 0;//退出 } } return 0;}
阅读全文
0 0
- pku 1028 模拟法
- pku 1068 Parencodings(模拟)
- PKU 2993 模拟 c++
- PKU Campus 2016 I:PKU Zealots(模拟)
- PKU 2632 Crashing Robots 模拟
- pku 1028
- PKU 1028
- PKU-1503 Integer Inquiry(模拟大数相加)
- PKU 1451 较为复杂的模拟题
- Pku oj 1573 Robot Motion(模拟)
- PKU 1028 Web Navigation
- PKU 1028 Web Navigation
- pku 1028 Web Navigation
- pku acm 1028
- [模拟题] 利用STL中string解pku 1068
- pku 2772 up the stair 模拟推导 解题报告
- acm pku 1142 Smith Numberd的模拟实现方法
- PKU--1001(hdu 1063)---[Exponentiation] 字符串模拟
- jfinal心得
- Python基础 UDP编程
- C#之水印控件WaterTextBox制作
- 用IJ创建一个maven—web项目
- Android外部存储的
- pku 1028 模拟法
- Mysql GroupBy 使用注意事项
- 想成为理论物理学家?这里有一份资料
- 一个单身男博士的业余生活:技多不压身,解数独也可撩妹
- Java进阶(七)正确理解Thread Local的原理与适用场景
- c# 跳跃表原理
- Windows10下JAVA环境变量的设置
- 10款效果惊艳的HTML5应用和源码
- GO语言-顺序编程