介绍
您使用Twitter(如果没有,请假装),在这里您想与全世界分享的每条推文最多只能有140个字符。如果您想发推文给您的追随者亚伯拉罕·林肯(Abraham Lincoln)的葛底斯堡地址(Gettysburg Address),则需要将文本分成140个字符的大块,以使整个消息完整。但是,这些块不应该总是正好为140个字符长。举例来说,我们将演讲分为17个字符,最后得到了以下推文:
- 四分SE
- 以前的我们
- 布鲁克林
- 在这个骗局上
- 租一个新的NATI
- 关于L
- (等等)
那不好!当个别单词分解后,可能会很难理解您要说的内容。此外,在twitterverse中,您的关注者之一可能会遇到一条特定的tweet,但并未意识到消息的更多内容,因此,您需要对tweet进行编号,以便它们可以使用一些上下文(仍使用17个字符的块) ):
- (1/7)四分和
- (2/7)七年前
- (3/7)我们的对手
- (4/7)爆发
- (5/7)此大陆A
- (6/7)新国家
- (7/7)在...中
您可以手动找出适合您的推文的最佳配置,但这就是我们拥有的计算机的功能!
挑战
在最短的代码中,将葛底斯堡地址(或任何文本,但以该文本为例)解析为一组不超过140个字符的推文(假定为ASCII,因为示例文本不应包含其中的任何不常见/不寻常的位)。
细节
- 您的函数/程序/等应该接受一个字符串参数,并为每条推文输出一行文本。
- 假设无论您选择哪种解析方式(只要该选择仍然适合挑战的其他方面),解析时此输入将永远不会导致超过99条总推文。
- 推文需要在推文主体之前包含“ ” 格式
tweet number
的total tweets
指示符(x/y)
。- 此计数将占用您140个字符的空间!
- 推文块只能在换行符或空格上分割。
- 除非紧接在空格或换行符之前或之后,否则不允许使用连字符,句号,逗号或其他标点符号。
- 推文应包含尽可能多的完整单词。
- 这种约束有点灵活,例如,当您的最终推文只有一个字时
- 这是代码高尔夫球,所以最短的代码获胜。
葛底斯堡演说全文
(您的代码仍然应该能够处理传递给它的任何ASCII字符串。)
四年零七年前,我们的兄弟们在这个大陆上崭露头角,这是一个自由想象的新民族,致力于实现所有男人都享有同等地位的主张。现在,我们参与了一场伟大的民用战争测试,无论这种民族还是这么一个如此设想和奉献的民族都可以长期承受。我们在那场战争中大获全胜。我们已经将那部分田地作为最终的安息之所,专门用来拯救那些赋予他们生命的国家。总而言之,我们应该做到这一点。但更大的意义是,我们不能奉献,我们不能奉献,我们不能屈服。曾被困在这里的勇敢的人过世并丧生,他们在我们可怜的力量之上或不足以奉献它。世界将永远不会记住我们所说的一切,但它永远不会忘记他们在这里所做的一切。对于我们来说,生活品味是专门针对尚未完成的工作而进行的,远远超出了他们。对于我们来说,这是我们奉献给仍然存在的伟大任务的原因,这是我们自始至终认为奉献的原因,因为他们对奉献有了最后的全面衡量,因此我们要高度解决,但绝不应该这样做已经死了,这民族在神的掌控下将拥有新的自由,人民的人民统治也不会从地球上灭亡。