首页 > 试题广场 >

一种消息接收并打印的结构设计

[编程题]一种消息接收并打印的结构设计
  • 热度指数:613 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
已知一个消息流会不断地吐出整数,但不一定按照顺序吐出。如果上次打印的数为i,那么当i+1出现时,请打印i+1及其之后接收过的并且连续的所有数,直到全部接收并打印完,请设计这种接收并打印的结构
[要求]
消息流最终会吐出全部的,当然最终也会打印完所有的,要求接收和打印的整个过程,时间复杂度为

输入描述:
第一行一个整数N。

接下来一行有N个整数。保证输入是一个1到N的排列


输出描述:
输出N行,每行两个数。

为了检验输出的正确性,请在输出当前打印的数字之后输出此时最后一个加入的元素。

具体看输入输出样例
示例1

输入

9
2 1 4 5 7 3 9 8 6

输出

1 1
2 1
3 3
4 3
5 3
6 6
7 6
8 6
9 6

说明

消息流吐出2,一种结构接收而不打印2,因为1还没出现。
消息流吐出1,一种结构接收1,并且打印:1, 2。
消息流吐出4,一种结构接收而不打印4,因为3还没出现。
消息流吐出5,一种结构接收而不打印5,因为3还没出现。
消息流吐出7,一种结构接收而不打印7,因为3还没出现。
消息流吐出3,一种结构接收3,并且打印:3, 4, 5。
消息流吐出9,一种结构接收而不打印9,因为6还没出现。
消息流吐出8,一种结构接收而不打印8,因为6还没出现。
消息流吐出6,一种结构接收6,并且打印:6, 7, 8, 9。

备注:
保证输入的是一个的排列

这道题你会答吗?花几分钟告诉大家答案吧!

问题信息

上传者:小小
难度:
0条回答 2220浏览

热门推荐

通过挑战的用户

查看代码