zoukankan      html  css  js  c++  java
  • TZOJ--4260: 游戏高手(模拟)

    4260: 游戏高手 

    描述

    zzd是一位游戏高手,有一天,他接触了一款很酷也很难的游戏。

    但是他依然无压力的通关了,下面有几种记录,可以描述他通关的过程。

    (1). START T 表示他在T(现实中的)时间开始了这一关。

    (2). SAVE T 表示他在T时间对进度进行了保存。

    (3). LOAD T 表示他在T时间读取了进度。此时将回到他最近保存的进度,若无保存记录,则回到游戏的开始。

    (4). FAIL T 表示他的角色在T时间挂掉了,任务失败。此时系统将自动退回他上一次读取的进度,若无读取记录,则回到游戏的开始。

    (5) FINISH T 表示他在T时间过关了。

    例:

    他在第0秒开始游戏,在第10秒保存了进度(游戏时间第10s),在第20秒读取了进度(回到游戏时间第10s的进度),在第30秒保存了进度(游戏时间第20s),在第40秒失败(回到游戏时间第10s的进度),第50秒过关(游戏时间第20s)。

    给出一组记录,请问他通关时的游戏时间是多少。

    输入

    题目数据有多组,请读入至文件结束。

    每组数据第一行为一字符串和一整数,由空格隔开:

    START T

    之后若干行“字符串(空格)整数”,表示游戏的记录。

    最后一行为一字符串和一整数,由空格隔开:

    FINISH T

    (每一组数据的T保证是递增的,且0<=T<2^31)

    输出

    对于每组数据,输出一整数。即他通关时的游戏时间。

    样例输入

    START 0
    SAVE 10
    LOAD 20
    SAVE 30
    FAIL 40
    FINISH 50

    样例输出

     20

    题目来源

    TOJ

     

    题目链接:http://tzcoder.cn/acmhome/problemdetail.do?&method=showdetail&id=4260

    模拟,根据题目意思一步步下去即可,代码中有详细的注释,请直接查看代码。

     

    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
    	string s;
    	int n,st,sum=0,si,sk;
    	while(cin>>s>>n)
    	{
    		if(s=="START") 
    		{
    			//开始游戏,初始时间为n 
    			st=n;
    		}
    		else if(s=="FAIL")
    		{
    			//初始化开始游戏时间 
    			st=n;
    			//总游戏时间重新加载为前面保存的时间 
    			sum=si;
    		}
    		else if(s=="LOAD")
    		{
    			//加载游戏
    			//初始化开始游戏时间 
    			st=n;
    			//总游戏时间重新加载为前面保存的时间 
    			sum=sk;
    			//保存下游戏时间,便于死亡加载 
    			si=sum;
    		}
    		else if(s=="SAVE")
    		{
    			//保存游戏
    			//游戏时间增加n减去前面开始游戏的时间 
    			sum+=(n-st);
    			//保存下 这次存档前面的游戏时间,便于后续加载 
    			sk=sum;
    			//重置开始游戏时间 
    			st=n;
    		}
    		else if(s=="FINISH")
    		{
    			//输出游戏时间 
    			cout<<sum+(n-st)<<endl;
    			//多组数据结束归零 
    			sum=0,si=0,sk=0;
    		}
    	}
    	
    }
    

      

  • 相关阅读:
    Linux入门-ssh scp rsync
    Linux入门-samba
    Linux入门-vsftp
    Linux入门-nfs
    MySQL卸载(rpm)
    rust_3_所有权
    rust_1_入门指南与猜猜看游戏
    vscode首次ssh remote linux连不上
    vbox新装ubuntu虚拟机注意事项
    IBM Rational Rose和Start UML的c++逆向工程自动生成UML类图组件
  • 原文地址:https://www.cnblogs.com/Anidlebrain/p/10113977.html
Copyright © 2011-2022 走看看