问题1762--拿钥匙开门

1762: 拿钥匙开门

[命题人 : ]
时间限制 : 1.000 sec  内存限制 : 128 MB

题目描述

一个迷宫由n行m列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走。一个冒险者需要从A点出发去B点拿钥匙,去C点打开门,问最少要走几步,空地用O(大写字母)表示,障碍物用#表示,A,B,C点用A,B,C表示。

输入

输入包括多行行,第一行包含两个整数n,m(1<=n,m<=103),表示图的大小,接下去n行字符串,每行m个字符,表示图的信息,保证每一幅图都合法。

50%的数据:n,m<=100;

100%的数据:n,m<=1000;

输出

输出包括一行,包含一个整数,表示最少的步数。

样例输入 Copy

5 5
AO###
#OOO#
#O#O#
#O#O#
#B#OC

样例输出 Copy

14