现在,公司的员工小图被分配了一个任务,那就是根据小森给出的服务器分配方式文档安排服务器的位置。
小森交给小图的文档见输入样例。这个文档遵循简化的yaml格式,但是你不需要提前知道什么是yaml。
简而言之,在这个文档中:
- 每一行都以两个字母和一个半角冒号开头,字母是"NW"、"NE"、"SW"、"SE"中的一个,且在同一层级不会重复;
- "NW"、"NE"、"SW"和"SE"分别代表当前层级的左上角、右上角、左下角和右下角位置,即上方为北,右方为东;
- 若冒号后有一个空格和"O"、"X"中的一个字母,则表示这一行是当前层级的一台服务器;
- 若冒号后没有任何内容(即冒号后是换行符),则接下来的若干行一定比当前行多两个空格的缩进,且被缩进的行除缩进外也符合以上全部规则;
- 缩进可以嵌套。
- 最深层级的服务器大小一定是2*4,在图中用一个3行5列的矩阵表示;
- 相邻的服务器会共享同一条相邻边;
- 除了最深层级的服务器,每一台服务器的大小都与它下一层级的四台服务器以2*2的方式拼接起来相同;
- 所有服务器的角落都用加号"+"表示,除此之外所有服务器的水平边界用减号"-"表示,垂直边界用竖线"|"表示,服务器的正中心位置根据文档内容用"X"或"O"中的一个字符表示,其它位置用空格表示。