{"trustable":false,"sections":[{"title":"描述:","value":{"format":"MD","content":"对于一个迷宫而言,即使你不能迅速找到出路,也可以用一种简单的方法试探出走法。\n比如在迷宫中,能直走时就直走,如果被墙阻挡,就优先向左拐(向当时你实际的左手方向转弯),如果不能左拐就沿原方向继续走,如果原方向也被阻挡则向右拐,如果这三个方向都被阻挡就向后转然后直走,接着继续优先向右拐……(当然,你也可以将所有的优先向左拐变为优先向右拐)。此外,如果给你足够的时间,你一定可以找到从起点到终点最短的路径和距离,而不需要每个方向试探。\n希望你编写一个计算机程序,可以模拟第一种试探的方法,找到利用这种方法从起点走到终点的距离,同时也可以计算出从起点到终点的最短距离。"}},{"title":"输入:","value":{"format":"MD","content":"这个问题的第一行输入是一个整数n,表示迷宫的数量,即测试用例的数量。每个迷宫将包括一行大小描述,即以空格分割的两个整数,宽度w和高度h (3 ≤ w, h ≤ 40),后面是h行,每行w个字符代表迷宫布局(不含分割字符)。墙用符号(\u0027#\u0027)表示,空格用句号(\u0027.\u0027)表示,开头用\u0027S\u0027表示,出口用\u0027E\u0027表示。"}},{"title":"输出:","value":{"format":"MD","content":"对于输入中的每个迷宫,在单行上输出以空格隔开的3个整数,分别是:\n1.\t优先向左转,从S到E的步数。\n2.\t优先向右转,从S到E的步数。\n3.\tS到E的最短路径,小于等于前面二者。"}},{"title":"注意:","value":{"format":"MD","content":"只允许在水平或垂直方向上从一个正方形移动到另一个正方形;不允许沿对角线移动。从S到E的步数定义为从S到E经历过的单元格数,包含S和E,有些单元格可能重复被经历。只有一个S和一个E会出现在迷宫中,而且它们总是位于迷宫的某个边缘,而不是角落里。迷宫将被墙壁(\u0027#\u0027)完全包围,唯一的开口是S和E。S和E也将被至少一面墙(\u0027#\u0027)隔开。"}},{"title":"样例:","value":{"format":"MD","content":"输入:\n2\n8 8\n########\n#......#\n#.####.#\n#.####.#\n#.####.#\n#.####.#\n#...#..#\n#S#E####\n9 5\n#########\n#.#.#.#.#\nS.......E\n#.#.#.#.#\n#########\n\n输出:\n37 5 5\n17 17 9"}}]}