weixin_43422216 2020-03-03 21:25 采纳率: 0%
浏览 267

OJ数据结构提问:棒棒糖

题目描述
乔乔有许多的棒棒糖,每一根棒棒糖都有一个唯一的编号,编号为 1 到 107 中的正整数。

乔乔有一个长长的架子,用来存放棒棒糖,棒棒糖可以插在架子上的任何位置。

乔乔每次会选择以下操作之一进行:

1、乔乔把一根全新的棒棒糖插到架子上,乔乔会指定架子上已有的一根棒棒糖,让你把它插在这根棒棒糖的右边,或让你把这根棒棒糖插到架子最左边。

2、乔乔从架子上拔下一根棒棒糖

3、乔乔想知道编号为x的棒棒糖在不在架子上

4、乔乔有时候会想知道,架子上有几根棒棒糖,她需要清点一下这些棒棒糖

5、乔乔想知道架子上依次都插了哪些棒棒糖,从左到右把棒棒糖的编号抄下来

6、乔乔想知道某一根棒棒糖的右边一根棒棒糖的编号(保证被指定的这根棒棒糖在架子上)

7、乔乔和她的好朋友一起把架子上所有的棒棒糖都吃掉

8、乔乔把架子旋转180度,架子上所有棒棒糖的左右顺序都被反转了

乔乔还要忙着去吃棒棒糖,这么简单的任务当然就交给你来完成啦!

输入格式
从标准输入读入数据。

第一行输入一个整数 m ,表示操作的总数。

接下来 m 行,每行若干个整数,表示一个操作。

每行第 1 个整数表示这次进行的是第几种操作,每种操作格式如下:

1 x y 将将编号为 x 的棒棒糖插到编号为 y 的棒棒糖的右边。特别地,如果 y=0 ,将 x 插到架子的最左边。

2 x 将编号为 x 的棒棒糖从架子上拔下。

3 x 乔乔想知道编号为 x 的棒棒糖在不在架子上,请你输出一个整数, 1 表示在,0 表示不在。

4 乔乔想知道架子上有几根棒棒糖,请你输出一个整数,表示架子上棒棒糖的数目。

5 乔乔想知道架子上有哪些棒棒糖,请你按照从左到右的顺序依次输出架子上所有的棒棒糖的编号,相邻两个数字之间用一个空格隔开。

6 x 乔乔想知道编号为 x 的棒棒糖右边的棒棒糖编号是多少,特别地 x=0 表示她想知道最左边的棒棒糖编号是多少。(如果 x 是最右边的棒棒糖,输出 0。)

7 乔乔和她的好朋友把架子上所有的棒棒糖都吃掉。

8 乔乔把架子旋转180度。

输出格式
输出到标准输出。

对于第3、4、5、6个操作,输出一行表示答案。

样例1输入
10
1 1 0
1 2 1
8
1 3 1
8
4
6 1
8
6 1
5
样例1输出
3
2
3
2 1 3

subtask
对于 60% 的数据,不包含操作8;

对于 100% 的数据,m≤106 , 棒棒糖的编号在 107 以内。

在所有数据中均匀分布着一半的数据,满足 m≤1000。

操作 5 的次数不超过 10 。

提示
允许并鼓励使用标准库中的相关内容(如std::list)。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-20 21:13
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧