{"trustable":false,"sections":[{"title":"","value":{"format":"PLAIN","content":" 填字游戏由一个黑白相间的长方形网格和两张定义(或描述)清单组成。\n 其中一个定义列表是将 \"单词 \"从左到右写在行中的白色方格上,而另一个列表是将单词写在列中的白色方格上。(一个字是一个字母字符的序列)。\n 解字谜时,要在格子的白色方格上写下与定义相对应的单词。\n 定义通过在 \"符合条件 \"的白色方格上的顺序整数来对应长方形网格。紧靠左边或上方有黑色方格的白色方格是 \"合格 \"的。紧靠左边或上方没有方格的白色方格也是 \"合格的\"。其他格子都没有编号。第一行的所有格子都有编号。\n 编号从1开始,依次穿过第一行的白色方格,然后穿过第二行符合条件的白色方格,再穿过第三行符合条件的白色方格,以此类推穿过拼图的所有其他行。下图是一个长方形的字谜格子,有适当的编号。\n 一个定义的 \"across\"字是写在一排白色方格的序列上,从一个编号的方格开始,而这个方格并没有跟在同一排的另一个白色方格后面。\n 该词的白色方格序列横跨该编号方格的一行,在该行的下一个黑色方格之前或该行最右边的方格中结束。\n 定义的 \"down\"字写在一列的白格子序列上,从一个编号的方格开始,而这个方格子不在同一列的另一个白格子后面。\n 该词的白色方格序列沿着编号方格的一列向下,在该列的下一个黑色方格之前或在该列的底部方格中结束。\n 正确解出的谜题中的每个白色方格都包含一个字母。\n 你必须编写一个程序,将几个已解的字谜作为输入,并输出构成解谜的across字和down字列表。"}},{"title":"Input","value":{"format":"PLAIN","content":" 输入中的每个谜题解法都以包含两个整数r和c的行开始(1≤r≤10和1≤c≤10),其中r(第一个数字)是谜题中的行数,c(第二个数字)是列数。\n 在后面的r行输入中,每行都包含c个字符(不包括行尾),这些字符描述了解决方案。每一个c字符都是一个字母字符,它是一个单词的一部分,或者是字符\u0027*\u0027,它表示一个黑色的方块。\n 输入的结尾由一个数字\u00270\u0027组成的行表示。"}},{"title":"Output","value":{"format":"PLAIN","content":" 每个谜题的输出包括一个谜题的标识符(谜题#1:,谜题#2:等)和横排词列表,然后是竖排词列表。每个列表中的单词必须按照其对应定义的数量递增的顺序每行输出一个。\n 跨越词列表的标题是 \"Across \"。缩略词列表的标题是 \"Down \"。\n 在列表为空的情况下(网格中的所有方块都是黑色的),\"Across \"和 \"Down \"的标题仍然会出现。\n 用空行来分隔连续输入的谜题的输出。"}},{"title":"Sample Input","value":{"format":"PLAIN","content":"2 2\nAT\n*O\n6 7\nAIM*DEN\n*ME*ONE\nUPON*TO\nSO*ERIN\n*SA*OR*\nIES*DEA\n0"}},{"title":"Sample Output","value":{"format":"PLAIN","content":"puzzle #1:\nAcross\n 1.AT\n 3.O\nDown\n 1.A\n 2.TO\n\npuzzle #2:\nAcross\n 1.AIM\n 4.DEN\n 7.ME\n 8.ONE\n 9.UPON\n 11.TO\n 12.SO\n 13.ERIN\n 15.SA\n 17.OR\n 18.IES\n 19.DEA\nDown\n 1.A\n 2.IMPOSE\n 3.MEO\n 4.DO\n 5.ENTIRE\n 6.NEON\n 9.US\n 10.NE\n 14.ROD\n 16.AS\n 18.I\n 20.A"}}]}