[蓝桥杯 2015 国 AC] 穿越雷区

Luogu
IDLGP8628
Time1000ms
Memory128MB
DifficultyP3
2015广度优先搜索 BFS最短路队列蓝桥杯国赛
$X$ 星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。 某坦克需要从 $A$ 区到 $B$ 区去($A$,$B$ 区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短? 已知的地图是一个方阵,上面用字母标出了 $A$,$B$ 区,其它区都标了正号或负号分别表示正负能量辐射区。 例如: ``` A + - + - - + - - + - + + + - + - + - + B + - + - ``` 坦克车只能水平或垂直方向上移动到相邻的区。 ## Input 输入第一行是一个整数 $n$,表示方阵的大小,$4 \le n<100$。 接下来是 $n$ 行,每行有 $n$ 个数据,可能是 `A`,`B`,`+`,`-` 中的某一个,中间用空格分开。 ## Output 要求输出一个整数,表示坦克从 $A$ 区到 $B$ 区的最少移动步数。 如果没有方案,则输出 $-1$。 [samples] ## Note 时限 1 秒, 512M。蓝桥杯 2015 年第六届国赛
Samples
Input #1
5
A + - + -
- + - - +
- + + + -
+ - + - +
B + - + -
Output #1
10
API Response (JSON)
{
  "problem": {
    "name": "[蓝桥杯 2015 国 AC] 穿越雷区",
    "description": {
      "content": "$X$ 星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。 某坦克需要从 $A$ 区到 $B$ 区去($A$,$B$ 区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短? 已知的地图是一个方阵,上面用字母标出了 $A$,$B$ 区,其它区都标了正号或负号分别表示正负能量辐射区。 例如: ``` A + - + - - + - - + - ",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 131072
    },
    "difficulty": {
      "LuoguStyle": "P3"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8628"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "$X$ 星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废。\n\n某坦克需要从 $A$ 区到 $B$ 区去($A$,$B$ 区本身是安全区,没有正能量或负能量特征),怎样走才能路径最短?\n\n已知的地图是一个方阵,上面用字母标出了 $A$,$B$ 区,其它区都标了正号或负号分别表示正负能量辐射区。\n\n例如:\n\n```\nA + - + -\n- + - - +\n- ...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments