CF174B File List
题目描述
Eudokimus,一名系统管理员,再次遇到了麻烦。由于某个脚本出错,一个非常重要的文件名列表被损坏。由于这些文件是在 BerFS 文件系统中的,已知每个文件名的格式都为 “name.ext”,其中:
- name 是由小写拉丁字母组成的字符串,长度为 $1$ 到 $8$ 个字符;
- ext 是由小写拉丁字母组成的字符串,长度为 $1$ 到 $3$ 个字符。
例如,"read.me"、"example.txt" 和 "b.cpp" 是合法的文件名,而 "version.info"、"ntldr" 和 "contestdata.zip" 都不是。
列表被损坏意味着所有文件名被一个接一个地记录下来,没有任何分隔符。所以现在 Eudokimus 只剩下一整个字符串。
Eudokimus 需要尽快恢复一切。他应该将结果字符串划分为多个部分,使得每个部分都是 BerFS 上的合法文件名。由于 Eudokimus 已经证明他不擅长编程,请你来帮他完成这个任务。最终的文件列表中允许出现相同的文件名。
输入格式
输入数据包含一个字符串 $s$,其长度在 $1$ 到 $4 \cdot 10^5$ 之间。字符串只包含小写拉丁字母('a'-'z')和句点('.')。
输出格式
第一行输出 "YES"(不带引号),如果可以按照要求将 $s$ 划分。如果可以划分,则接下来的每一行依次输出一个划分出来的部分,顺序与它们在 $s$ 中出现的顺序一致。所需的划分可以包含相同的文件名。如果存在多种方案,输出其中任意一种即可。
如果无法划分,则只需输出一行 "NO"(不带引号)。
说明/提示
由 ChatGPT 5 翻译