{"trustable":true,"sections":[{"title":"","value":{"format":"HTML","content":"\u003cp\u003e小汤姆喜欢玩游戏。一天,他下载了一个叫做“Bloxorz”的小电脑游戏,让他兴奋不已。这是一个关于将一个箱子滚动到特定位置的特殊平面上的游戏。准确地说,这个平面由多个单元格组成,是一个矩形形状的区域。箱子由两个完美对齐的单位立方体组成,可以躺下并占据两个相邻的单元格,也可以站起来并占据一个单独的单元格。玩家可以通过选择箱子底部的四个边之一并围绕该边旋转90度来移动箱子,这被计为一次移动。平面上有三种单元格,刚性单元格、易碎单元格和空单元格。刚性单元格可以支撑箱子的全部重量,因此它可以是箱子所占据的两个单元格之一,也可以是箱子完全站立在上面的单元格。易碎单元格只能支撑箱子重量的一半,因此它不能是箱子所站立的唯一单元格。空单元格不能支撑任何东西,因此箱子的任何部分都不能在该单元格上。游戏的目标是将箱子滚动到平面上唯一的目标单元格上,且移动次数最少。\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003ccenter\u003e\u003cimg src\u003d\"CDN_BASE_URL/a29deb5841d183ca41249f35fe190549?v\u003d1711123052\"\u003e\u003cbr\u003e箱子站在一个单元格上\u003c/center\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003ccenter\u003e\u003cimg src\u003d\"CDN_BASE_URL/16a2f00429bbb632a3e5088cf76415f1?v\u003d1711123052\"\u003e\u003cbr\u003e箱子横躺在两个相邻的单元格上\u003c/center\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e\u003c/p\u003e\u003ccenter\u003e\u003cimg src\u003d\"CDN_BASE_URL/8ba09de5b29df1c037294d3d8afb6d92?v\u003d1711123052\"\u003e\u003cbr\u003e箱子竖躺在两个相邻的单元格上\u003c/center\u003e\u003cp\u003e\u003c/p\u003e\u003cp\u003e小汤姆通过了游戏的几个阶段后,发现比他预期的要困难得多。所以他求助于你。\u003c/p\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003cp\u003e输入包含多个测试用例。每个测试用例是游戏的一个单独阶段。它以两个整数 \u003ci\u003eR\u003c/i\u003e 和 \u003ci\u003eC\u003c/i\u003e (3 ≤ R, C ≤ 500) 开始,表示平面的行数和列数。接下来是平面,包含 \u003ci\u003eR\u003c/i\u003e 行,每行 \u003ci\u003eC\u003c/i\u003e 个字符,其中\u0027O\u0027代表目标单元格,\u0027X\u0027代表箱子的初始位置,\u0027.\u0027代表刚性单元格,\u0027#\u0027代表空单元格,\u0027E\u0027代表易碎单元格。一个测试用例以两个零结束输入。\u003c/p\u003e\u003cp\u003e保证:\u003c/p\u003e\u003cul\u003e\u003cli\u003e平面上只有一个\u0027O\u0027。\u003c/li\u003e\u003cli\u003e平面上要么有一个\u0027X\u0027,要么有相邻的两个\u0027X\u0027。\u003c/li\u003e\u003cli\u003e第一行(和最后一行)、第一列(和最后一列)必须是\u0027#\u0027(空单元格)。\u003c/li\u003e\u003cli\u003e\u0027O\u0027和\u0027X\u0027覆盖的单元格都是刚性单元格。\u003c/li\u003e\u003c/ul\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003cp\u003e对于每个测试用例,输出一行,包含达到目标单元格所需的最小移动次数,或者在无法到达目标单元格时输出\"Impossible\"(不带引号)。\u003c/p\u003e"}},{"title":"样例","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e7 7\r\n#######\r\n#..X###\r\n#..##O#\r\n#....E#\r\n#....E#\r\n#.....#\r\n#######\r\n0 0\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e10\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}