QAQ的小游戏

news/2024/10/30 15:33:53/

描述

Recently,QAQ fell in love a small game,which simulates browser browsing web
pages.It has three kind of operations:
1.BACK: Back to the previous page
2.FORWARD:Go to the next page
3.VISIT URL:Access to the web page
Now,QAQ has visited http://www.acm.org/, and wants to know the website after each operation, if the page not change, output “Ignored”.

输入

There is only one test data, and the number of operations does not exceed 1000,
end flag when input “QUIT”
Attion: every website length no more then 100.

输出

If the website changes, output the new website, if not, output Ignored.

样例输入

VISIT http://oj.51ac.club/
VISIT http://maojunjie666.top/
BACK
BACK
BACK
FORWARD
VISIT http://www.ibm.com/
BACK
BACK
FORWARD
FORWARD
FORWARD
QUIT

样例输出

http://oj.51ac.club/
http://maojunjie666.top/
http://oj.51ac.club/
http://www.acm.org/
Ignored
http://oj.51ac.club/
http://www.ibm.com/
http://oj.51ac.club/
http://www.acm.org/
http://oj.51ac.club/
http://www.ibm.com/
Ignored

解析

题目的主要意思是,毛学姐在当前的一个网站,如果输入VISIT,接着输入一个网站
那么当前网站就是输入的网站。
如果输入BACK,那么就是返回上一个网站,如果当前网站是最开始的网站,那么输出Ignored。
如果输入FORWARD,那么就是进入下一个网站,如果当前网站是最新的网站,那么输出Ignored。

思路

首先我们需要定义好最原始的网站,那么需要创建一个二维数组来储存原始网站和后来会输入的网站。
会有以下几种情况:
首先在过程中输入一个新的网站,那么新的网站会成为当前网站,并且覆盖掉上一个网站之后的所有网站。
比如:现在有三个网站,并且处在第一个网站时,输入一个新的网站,新的网站成为第二个网站,并且
原来的第二、三网站被清除,此时只有两个网站可以执行。
那么我们应该确定一个变量j来表示当前可以执行的网站的个数,该变量的作用是当FORWARD越界时,
输出Ignored。
还应该确定一个变量i来确定当前网站的位置,每次执行命令时:
1、命令为BACK,i减一,然后和0进行比较,如果大于0,那么输出当前网站的上一个网站,并且该网站
成为当前网站。如果小于0,输出Ignored,并且让i=0,即当前网站为最原始网站。
2、命令为FORWARD,i加一,然后和j进行比较,如果小于j,那么输出当前网站的下一个网站,并且该网站
成为当前网站。如果大于j,输出Ignored,并且让i=j,即当前网站为最新网站。
3、命令为VISIT,输入新的网站,并且覆盖原来当前网站的下面的网站。此时i加一,并且j等于i。并输出当前网站。

代码

#include<stdio.h>
#include<string.h>
int main()
{int i=0,j=0,len;char a[1000][100],b[10];strcpy(a[0],"http://www.acm.org/");//定义原始网站 while(scanf("%s",&b)) //接收指令 iF判断语句来判断指令 {if(b[0]=='V'){i+=1;j=i; //j记录当前覆盖后的网页个数。 scanf("%s",&a[i]);len=strlen(a[i]);a[i][len]='\0';puts(a[i]);}else if(b[0]=='B'){i-=1;if(i<0) { printf("Ignored\n");i=0;}else puts(a[i]);}else if(b[0]=='F'){i+=1;if(i>j) { printf("Ignored\n");i=j;}else puts(a[i]);}else break;}return 0;
}

http://www.ppmy.cn/news/332860.html

相关文章

游戏(game)

**问题 B: 游戏(game)** **时间限制: 1 Sec 内存限制: 512 MB** **题目描述** 小R和小D在玩一个游戏。游戏涉及两个序列&#xff0c;序列 A 长度为 N&#xff0c;序列 B 长度为M。游戏共有 M 个回合&#xff0c;小R执先手&#xff0c;小R和小D轮流行动。 初始时游戏分数为 0。在…

你今天玩游戏了吗?游戏道具了解下

【面试题】 某游戏的某促销活动&#xff0c;会向玩家推荐一个道具&#xff0c;同时会得到该道具的折扣券。折扣券无有效期&#xff0c;但购买道具一次后失效。推荐一个新的道具&#xff0c;也会导致旧的折扣券失效。 假设道具推荐、查看、购买行为记录在了下面的“游戏道具记录…

Nim 游戏 、⽯头游戏1、石头游戏2

Nim 游戏 、⽯头游戏1、石头游戏2 文章目录 Nim 游戏 、⽯头游戏1、石头游戏2**一&#xff1a;Nim 游戏****二&#xff1a;⽯头游戏****三、石头游戏2****方法一&#xff1a;DP 函数****方法二&#xff1a;DP table** 一&#xff1a;Nim 游戏 你和你的朋友&#xff0c;两个人一…

这有10款好玩游戏,游戏迷速来围观

1、我飞刀玩得贼6 一款创新玩法的游戏&#xff0c;通过对一大堆飞刀的熟练操控来进行混战&#xff0c;独创的龟缩防御机制&#xff0c;让你能轻松在对手面前秀一把。 2、监狱建筑师 它作为一款优秀的模拟游戏&#xff0c;沿袭了《地下城守护者》、《矮人要塞》以及《主题医院…

从0-1一起学习live555设计思想之二 RTSP交互过程

流媒体服务系列 文章目录 流媒体服务系列前言一、OPTION二、DESCRIBE三、SETUP四、PLAY总结前言 本篇文章通过代码去分析rtsp交互过程与工作原理。由于live555的继承关系太过复杂,所以做了个图简单记录一下与h264文件传输相关的类继承关系。 一、OPTION OPTION比较简单,就…

C语言基础--整型int,长整型long,浮点型double float

本文讲解常见的C语言变量,并举出一些实例 从微软的C语言文档把所有的C语言可定义(就是能用的)截图展示: 还有好几页,不放了,看着都头疼 但是,往往用的最多的,也就是下面的(本篇只讲整数和浮点数) int 整数 整数的定义不用说了吧QAQ int a = 10; //定义一个…

libVLC 调节图像(亮度、对比度、色调、饱和度、伽玛)

作者: 一去、二三里 个人微信号: iwaleon 微信公众号: 高效程序员 对于一个视频来说,色彩和画面效果的呈现非常重要。假如你的画面偏暗或偏亮,缺乏层次感,色彩不够丰富或不自然,则需要根据场景和氛围进行调整。 所涉及的重要参数有: 亮度: 是视频画面的明暗程度。调整…

shell脚本基础5——常用命令写作技巧

文章目录 一、grep命令二、sed命令2.1 选项参数2.2 常用命令 三、AWK命令3.1 常用参数3.2 常用示例 四、find与xargs五、date命令六、对话框6.1 消息框6.2 yes/no对话框6.3 表单输入框6.4 密码输入框6.5 菜单栏6.6 单选对话框6.7 多选对话框6.8 进度条 七、常用写作技巧7.1 EOF…