首页 > 其他分享 >[USACO10OPEN] Time Travel S

[USACO10OPEN] Time Travel S

时间:2024-08-07 13:52:59浏览次数:16  
标签:输出 f2 ch int Travel 样例 USACO10OPEN Time 奶牛

题目描述

Farmer John 买了台时光机,这使得他可以方便地管理自己的奶牛群。

他现在有 NN 个操作(1≤N≤8×1041≤N≤8×104),每次操作仅可能是如下三种之一:

  1. a x:添加一头编号为 xx 的奶牛(1≤x≤1061≤x≤106)。
  2. s:卖掉最近添加的奶牛(保证此时至少有一头奶牛)。
  3. t x:回到第 xx 次操作前的状态(保证第 xx 次操作存在)。

你需要在 FJ 执行每次操作后输出他拥有的最新的奶牛的编号。特别地,如果没有奶牛,输出 −1−1。

输入格式

第一行一个整数 NN。

接下来 NN 行,每行描述一次操作。

输出格式

第 ii 行输出第 ii 次操作后 FJ 拥有的最新的奶牛的编号。特别地,如果没有奶牛,输出 −1−1。

样例 #1

样例输入 #1

12
a 5
a 3
a 7
s
t 2
a 2
t 4
a 4
s
t 7
s
s

Copy

样例输出 #1

5
3
7
3
5
2
7
4
7
2
5
-1

Copy

提示

下面是样例解释,其中拥有的奶牛已经按添加顺序排好。

操作编号操作拥有的奶牛输出
1a 55
2a 35,33
3a 75,3,77
4s5,33
5t 25
6a 25,22
7t 45,3,77
8a 45,3,7,44
9s5,3,77
10t 75,22
11s5
12/-1

#include<bits/stdc++.h>
using namespace std;
int f[80001][801],f2[80010],t,n=0,m,n2,fn[80001];
char ch;
int main(){
    ios::sync_with_stdio (false); 
    cin>>t;
    f2[0]=-1;
    f[0][0]=-1;
    for(int i=1;i<=t;i++){
        f[i][0]=-1;
        cin>>ch;
        if(ch=='a'){
            cin>>m;
            f2[++n]=m;
        }
        else if(ch=='s'){
            //if(n>=1){
                f2[n]=0;
                n--;
            //}        
        }
        else if(ch=='t'){
            cin>>m;
            for(int j=0;j<=fn[m-1];j++){
                f2[j]=f[m-1][j];
            }
            n=fn[m-1];        
        }
        n2++;
        cout<<f2[n]<<"\n";
        for(int j=0;j<=n;j++){
            f[n2][j]=f2[j];
        //    cout<<f2[j]<<" ";
        }
        //cout<<"\n";
        fn[n2]=n;
    }

标签:输出,f2,ch,int,Travel,样例,USACO10OPEN,Time,奶牛
From: https://blog.csdn.net/bz02_2023f2/article/details/140990223

相关文章

  • (五)time库的使用
    Python是一种功能强大的编程语言,其标准库中包含了丰富的模块和函数,用于处理时间和日期信息。其中,time模块提供了对时间的访问和处理功能,使得程序员可以轻松地操作时间数据。本篇博文将详细介绍time库的使用方法,包括基本介绍、时间获取方式、时间格式化和程序计时应用。1.time库......
  • Java包装类;字符串处理类:String;StringBuffer;StringBuilder;字符串处理类的常用方法;异常
    一,包装类      什么是包装类:         包装类是对于八种基本数据类型而言的,八种数据类型都有其对应的包装类。         以前定义变量,经常使用基本数据类型,对于基本数据类型来说,它就是一个数,加点属性,加点方法,加点构造器。  ......
  • Runtime类
    Runtime类Java中,Runtime类提供了许多的API来与javaruntimeenvironment进行交互,如:执行一个进程。调用垃圾回收。查看总内存和剩余内存。Runtime是单例的,可以通过Runtime.getRuntime()得到这个单例。常见的API列表publicstaticRuntimegetRuntime() ......
  • 【报错提示】java.lang.RuntimeException: Can't create handler inside thread
    ​报错提示遇到一个报错: java.lang.RuntimeException:Can'tcreatehandlerinsidethreadThread[OkHttphttps://a.fxltsbl.com/...]thathasnotcalledLooper.prepare() 分析 1.这个报错提示是在一个没有调用Looper.prepare()的线程中尝试创建一个Handler对象......
  • Runtime类的使用
    Runtime类的使用得到系统内存的一些信息@TestpublicvoidruntimeInfo(){Runtimeruntime=Runtime.getRuntime();intprocessors=runtime.availableProcessors();longfreeMemory=runtime.freeMemory();longmaxMemory=runtime.maxMemory();......
  • 解决|RuntimeWarning: invalid value encountered in double_scalars W = numer / d
    报错:RuntimeWarning:invalidvalueencounteredindouble_scalarsW=numer/denom我自查发现代码包含levene和t检验部分,且涉及多步除法。一旦分母为0或NaN就会出现上述报错在chatgpt帮我过了一遍所有可能的分母时,发现就两种情况:1-样本数异常(为0或为1——自由度为0),我的数......
  • System,Runtime,Math
    System,Runtime,Math在Java中,System、Runtime和Math是三个非常常用且重要的类,它们分别属于不同的包(java.lang),提供了不同的功能。下面是对这三个类的简要介绍:1.System类System类位于java.lang包中,因此它是自动导入的,不需要显式地导入。这个类提供了一些有用的类字段和静态......
  • iMAP: Implicit Mapping and Positioning in Real-Time实时隐式建图和定位(论文阅读记
    一、论文阅读知识储备    这篇论文是将NeRF结合进SLAM的探索性的尝试,在我的这篇文章中并没有太多涉及NeRF的详细解说,但看懂这篇论文有必须懂NeRF,所以推荐读者去看:【较真系列】讲人话-NeRF全解(原理+代码+公式)_哔哩哔哩_bilibili       论文原文地址:[2103.12352......
  • 在C#中使用 System.Threading.Timer 实现定时任务
    在C#中使用System.Threading.Timer实现定时任务(qq.com)   前言在编写应用程序过程中,高效的任务调度都是必不可少的,无论是在实现后台服务、自动化任务或者定期数据处理。在.NET中,System.Threading.Timer类提供了一种强大而简单的方法来计划任务以特定时间间隔运行。本......
  • 论文---时间序列----TimeLLM
    ......