Description
输入一个r行c列(1<=r,c<=10)的网格,黑格用"*"表示,每个白格都填有一个字母,如果一个白格的左边相邻的位置或者边上相邻的位置没有白格(可能是黑格,也可能除了网格边界), 则称这个白格是一个起始格。首先把所有起始格按照从上到下,从左到右的顺序编号为1,2,3......,如图。接下来要输出所由横向单词,这些单词必须从一个起始格开始,向右延伸到一个黑格的左边,或者整个网格的最右列。最后找出所有竖向单词。这些单词必须从一个起始格开始,向下延伸到一个黑格的上边或者整个网格的最下行。
input
2 2
AT
*O
6 7
AIM*DEN
*ME*ONE
UPON*TO
SO*ERIN
*SA*OR*
IES*DEA
0
output
puzzle #1:

本文介绍了如何处理纵横字谜的算法,包括找到起始格并按顺序编号,输出横向和竖向单词。示例展示了具体操作,并提到了在UVAoj测试平台通过的代码实现。期待更好的解决方案交流。
最低0.47元/天 解锁文章
500





