给定一个信号流,其总字符数为 n(包括所有的竖线 |),信号流由多行组成,每行首尾均为竖线 |,代表一帧。每帧内竖线 | 之间的部分代表一个数据包,每个数据包中只包含小写字母和连字符 -,且每个数据包的长度至少为 1。
例如一帧内容为
|do-do-re|re---|
表示 2 个数据包,其中第一个数据包内容为 do-do-re,长度为 8;第二个数据包内容为 re---,长度为 5。
要求统计每一帧内数据包的个数,并依次输出每个数据包的长度。
在深空通信中,航天器传回一系列信号帧。信号以特殊字符 | 作为帧的开始和结束标记,帧内可能包含多个数据包,每个数据包之间也用 | 分隔。数据包的内容由小写字母和连字符 - 组成,连字符代表静默填充,字母代表有效信息。由于传输环境复杂,一个完整的信号流可能被分割成多行发送,每行恰好为一帧。现在需要编写程序,对于接收到的信号流,统计每一帧内包含的数据包个数以及每个数据包的长度。
总字符数 n 满足 1≤n≤3×105。保证每一帧的起始和结束字符都是 |,帧内每个数据包非空(长度至少为 1),且数据包仅由小写字母(a-z)和连字符 - 组成。所有帧的字符总数恰好为 n。
第一行包含一个整数 n,表示信号流中包含的字符总数。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册