AlgoMooc
← 返回题库

P3601. 评论转换输出

中等通过率 74% · 提交 147 · 通过 109
DFS字符串模拟

小慕正在开发一个博客平台,每篇博客都带有评论功能。 每条评论都是一个非空的英文字母字符串。 评论之间具有,除了根评论外,每条评论都有一个父评论。 当小慕保存评论时,使用以下格式: - 首先是评论的内容; - 然后是回复当前评论的数量; - 最后是当前评论的所有(子评论使用相同的格式嵌套存储)。 所有元素之间都用单个逗号分隔。 例如,如果评论如下: ![image.png](/api/public/img/ec2a4d7a3a59496fabafc3275f10a678.png) 第一条评论是"hello,2,ok,0,bye,0",第二条评论是"test,0",第三条评论是"one,1,two,1,a,0"。 所有评论被保存成"hello,2,ok,0,bye,0,test,0,one,1,two,1,a,0"。 对于上述格式的评论,小慕需要以另外一种格式打印: - 首先打印评论嵌套的最大深度。 - 然后打印n行,第i (1 ≤ i ≤ n) 行对应于为i的评论(根评论的嵌套级别为1)。 - 对于第i行,嵌套级别为i的评论按照它们出现的顺序打印,用空格分隔开。

提示:带虚线的词点一下有通俗解释。

输入描述

一行评论。由英文字母、数字和英文逗号组成。 保证每个评论都是由英文字符组成的非空字符串。 每个评论的数量都是整数(至少由一个数字组成)整个字符串的长度不超过10^6 给定的评论结构保证是合法的.

输出描述

按照给定的格式打印评论。对于每一级嵌套,评论应该按照输入中的顺序打印。

示例

示例 1

输入

hello,2,ok,0,bye,0,test,0,one,1,two,1,a,0

输出

3
hello test one
ok bye two
a

说明:如题目描述中图所示,最大嵌套级别为3,嵌套级别为1的评论是"hello test one",嵌套级别为2的评论是"ok bye two",嵌套级别为3的评论为"a"

示例 2

输入

A,5,A,0,a,0,A,0,a,0,A,0

输出

2
A
A a A a A

说明:最大嵌套级别为2,嵌套级别为1的评论是"A",嵌套级别为2的评论是"A a A a A"

示例 3

输入

A,3,B,2,C,0,D,1,E,0,F,1,G,0,H,1,I,1,J,0,K,1,L,0,M,2,N,0,O,1,P,0

输出

4
A K M 
B F H L N O
C D G I P
E J

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。