#3516. [Baltic2014]portals
[Baltic2014]portals
Description
给出一张四连通的网格图,'#'代表墙,'.'代表空地,'S'代表出发点,'C'代表目的地,地图四周都是墙,求S到C的最短路。 走的时候可以向上下左右中的某个方向发射奇怪的东西(portals),portals会贴在发射方向的墙上。 地图上只允许同时存在两个portals,如果已经发射了两个再发射第三个,那么你需要在之前的那两个中的选一个使它消失。 两个portals可以存在于一块墙的两面,但不能存在于一块墙的同面。 当你身边是墙且那块墙上有面向你的portals时,你可以走进那个portals,从另一个portals出来。 相邻两点距离为1,走portals距离也为1
Format
Input
第一行2个数R,C,表示矩形的长和宽
接下来R行,每行一个长为C的字符串,表示这张图
Output
输出一行表示答案
Samples
4 4
.#.C
.#.#
....
S...
4
Hint
对于100%的数据 1 ≤ R ≤ 1000, 1 ≤ C ≤ 1000.
保证有解