一个迷宫由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;
输出包括一行,包含一个整数,表示最少的步数。
5 5
AO###
#OOO#
#O#O#
#O#O#
#B#OC
14