(栈)网页跳转

题目:

VISIT打开界面,BACK回退,FORWARD前进。
现在输入n行,每行首先输入一个字符串,如果是VISIT,后面再输入一行不含空格的网址,如果是BACK,回退,如果是FORWARD,前进。
对每次操作,如果能操作成,输出操作后的网址,否则输出Ignore。
这里回退的意思是返回上一次访问的网页,前进意思是返回回退之前的网页。如果回退上一次操作是打开网页,那么无法前进。也就是说,每次打开网页后的下一个操作不能是回退。
输入:

10
VISIT https://www.126.com/
VISIT https://www.taobao.com/
BACK
BACK
FORWARD
FORWARD
BACK
VISIT https://www.163.com/
FORWARD
BACK

输出:

https://www.126.com/
https://www.taobao.com/
https://www.126.com/
Ignore
https://www.taobao.com/
Ignore
https://www.126.com/
https://www.163.com/
Ignore
https://www.126.com/

分析与解答:

打开网页入栈,回退栈顶元素出栈,如果栈里面只有一个元素,也就是说只打开了一个界面也是无法回退的。由于还需要前进,所以这里还要加一个栈,存出栈的元素。由题目要求每次打开网页,都要把这个栈给清空。这里为什么加一个栈而不是数组,是因为距离的问题,最近的最先出去,先出去的网站一定不是最近的那个网站。
然后根据要求进行模拟即可。输出存放网站的栈的栈顶元素即是当前网页。

#include<iostream>
#include<cstdio>
#include<stack>
#include<algorithm>
#include<string>
using namespace std;int main(){int n;cin>>n;stack<string> k1;stack<string> k2;for(int i=0;i<n;++i){string s;cin>>s;if(s=="VISIT"){string s2;cin>>s2;k1.push(s2);while(!k2.empty()){k2.pop();}//	cout<<s2<<endl;;}else if(s=="BACK"){if(k1.size()>1) {k2.push(k1.top());k1.pop();}else{cout<<"Ignore"<<endl;continue;}}else{if(!k2.empty()){//	cout<<k2.top()<<endl;k1.push(k2.top());k2.pop();}else{cout<<"Ignore"<<endl;continue;}}cout<<k1.top()<<endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560525.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vv7无法启动显示发动机故障_点火系统故障引起发动机不能启动的排除方法

点火系统故障引起发动机不能启动的排除方法a 外观检查首先察看点火线圈和b 中央高压线试火拔出分电器上的中央高压线&#xff0c;插入一个放电器(或备用火花塞)并将放电器(火花塞)搭铁&#xff0c;然后接通点火开关&#xff0c;在转动发动机时看放电器(火花塞)(汽車维修网 Http…

(vector)堆积木

题目&#xff1a; n块积木&#xff0c;编号1到n&#xff0c;初始时&#xff0c;第i块放在第i个位置。现在&#xff0c;进行a b操作&#xff0c;每次操作把b位置积木全放到a位置上。输出操作完之后每个位置上的木块。 输入:n,m。n代表有n个积木&#xff0c;m代表有m个操作&…

(set)计算集合的并

给两个集合a&#xff0c;b求其并集并由小到大输出&#xff0c;中间空格隔开。 基本的set用法&#xff0c;无非就是空格的时候加一个标记变量记录已输出元素个数。 #include<iostream> #include<cstdio> #include<set> #include<algorithm>using names…

数据生态mysql_数据生态:MySQL复制技术与生产实践

基础篇第1章 的概述1.1 适用场景1.2 数据同步方法1.3 数据同步类型1.4 格式第2章 的基本原理2.1 概述2.2 细节第3章 格式详解3.1 格式概述3.2 格式明细3.2.1 基于STATEMENT和基于ROW的的优缺点3.2.2 使用ROW格式的制日行3.3 如何确定与记录中的和不语句基础篇第1章 的概述1.1 适…

(set)学单词

题目&#xff1a; 输入n&#xff0c;n行操作&#xff0c;每行有一个整数d和一个单词&#xff0c;d0表示将单词存入集合&#xff0c;d1表示测试这个单词是否在集合中&#xff0c;如果是&#xff0c;输出yes否则输出no。单词不区分大小写 样例输入&#xff1a; 5 0 we 0 are 1 f…

织梦重置mysql数据库密码忘记_织梦cms管理员密码忘记了怎么重置找回?

织梦cms是使用比较广泛的一种开源cms程序&#xff0c;使用织梦的朋友基本上都遇到过忘记后台登录密码这个问题&#xff0c;重置登录密码的方法也有很多&#xff0c;今天木子网络教大家的方法是通过mysql数据库来重置修改密码。下面就为大家分享详细的织梦cms管理员密码重置教程…

Lingo计算最优解

建模最后就是知道结果套过程。。 文章目录线性规划二次规划集合段线性规划 model: title 求解线性规划; max2*x13*x2; 2*x1x2<8; 4*x13*x2<15; end结果&#xff1a; Global optimal solution found.Objective value: 15.00000Infeasibilit…

java 扫描类_Java扫描指定包中所有类

1. 扫描类import java.io.File;import java.io.FilenameFilter;import java.io.IOException;import java.net.JarURLConnection;import java.net.URL;import java.util.Enumeration;import java.util.HashMap;import java.util.Map;import java.util.jar.JarEntry;import java.…

Lingo多维数组

∑i1100∑j1200xij280\sum_{i1}^{100}\sum_{j1}^{200}x_{ij}280i1∑100​j1∑200​xij​280 sets: a/1..100/:; b/1..200/:; C(a,b):x; endsets sum(c(i,j):x(i,j))280;∑i1100xij>150\sum_{i1}^{100}x_{ij}>150i1∑100​xij​>150 j1,2,...200j1,2,...200j1,2,...20…

java socket调用接口_java调用websocket接口

项目中需要调用第三方语音电话接口&#xff0c;代码如下&#xff1a;1.pom.xml引入websocket依赖org.java-websocketJava-WebSocket1.3.82.YiWeiDialUtil.javapackage com.yudu.sms.util;import com.alibaba.fastjson.JSONObject;import org.java_websocket.WebSocket;import o…

C语言运行窗口中的暂停与清屏

文章目录用途&#xff1a;样例1&#xff1a;样例2&#xff1a;样例3&#xff1a;样例4&#xff1a;总之&#xff1a;用途&#xff1a; system(“pause”)和system(“cls”)可用于交互界面菜单的显示。 样例1&#xff1a; #include<cstdlib> #include<iostream> …

c 通过jni调用java_使用c通过jni调用java

编译环境:fedora16gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2)java version "1.6.0_31"Java(TM) SE Runtime Environment (build 1.6.0_31-b04)Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)准备工作:首先需要安装jdk和gcc(或者其他c编译器也可以)并配置…

java容器遍历_高效遍历Java容器详解

通过本文&#xff0c;你可以更深入的学习 Java 语言中 forEach 语法的知识&#xff0c;以及它和 C 语言形式的 for 循环、 Steam API 的对比。简介Java 程序员经常使用容器&#xff0c;比如 ArrayList 和 HashSet。Java 8 中的 lambda 语法和 steaming API 可以让我们更方便的使…

C语言文件与数组之间输入输出操作

C语言文件与数组之间输入输出操作 文件存到数组里面&#xff1a; #include<iostream> #include<fstream> #include<string> #include<cstdio> #include<cstdlib> using namespace std; int main() { fstream fs("test.txt");istream…

java调用scilab_Java调用Scilab-编译运行Javasci v2

1 Scilab简要介绍Scilab 是由法国国家信息、自动化研究院(INRIA)的科学家们开发的“开放源码”软件。Scilab是开源的软件&#xff0c;用户不仅可以在Scilab的许可证条件下自由使用该软件&#xff0c;还可以根据自己需要修改源代码&#xff0c;使之更加符合自身需要。与Matlab类…

(map)出现最多的数

题目&#xff1a; 给n个整数&#xff0c;求里面出现次数最多的数&#xff0c;如果有多个重复出现的数&#xff0c;求出值最大的一个。 样例输入&#xff1a; 10 9 10 27 4 9 10 3 1 2 6 样例输出&#xff1a; 10 2 分析与解答&#xff1a; 遍历map是根据自动键的大小从小到大…

java8 foreach 异常_错误处理 – 在java 8流foreach中抛出异常

我正在使用java 8流,我不能在流的foreach中抛出异常.stream.forEach(m -> {try {if (isInitial) {isInitial false;String outputName new SimpleDateFormat(Constants.HMDBConstants.HMDB_SDF_FILE_NAME).format(new Date());if (location.endsWith(Constants.LOCATION_S…

stl—map

map&#xff1a; 总是记不住&#xff0c;整理一下 #include <map>#include <string>#include <utility>using namespace std;int main() {map<string, int> dict; // dict存放每个名字对应的班级号&#xff0c;初始时为空dict.insert(make_pair("…

java integer reverse_Leetcode7 Reverse Integer Java实现及分析

首先public int reverse(intx) {int ans 0;while(x!0) {int temp x%10;x/10;ans ans*10temp;}returnans;}但是这样无法检验最终结果是否溢出。我们可以看到&#xff0c;溢出的原因是ans*10temp>MAX或ans*10temp对于正数&#xff0c;举个小点的例子&#xff0c;一个6bit的…

java swing linux_Linux下关于解决JavaSwing中文乱码的情况

前两天在linux中运行java 老是出乱码&#xff0c;很苦恼&#xff0c;后来网上找了好多解决办法。有些可行&#xff0c;有些不可行&#xff0c;今天总结一下。redhed 貌似没出现乱码 本身就jdk就支持中文红旗linux suse等都不支持&#xff0c;需要自己手工配置&#xff0c;解决…