1643: Old Stone Bridge2

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

  一座老石桥由 M*N 块石砖构成,由于年久失修,凹凸不平。经测量,石桥的石砖所处的高度共有 26 种不同的值。假设地面的高度为 0 ,石桥这 26 种高度分别为 1 2 3 ...25 26(用大写字母 A-Z 表示) 。   过桥时,从地面上桥,可以选择第一排的任意石砖上桥,然后到达桥的另一端再回到地面。   过桥时,只能从一个石砖走到其上下左右相邻的另一块石砖上,如果从高石砖走到低石砖,体力消耗为高度差,否则体力消耗为高度差的两倍;其他体力消耗全部忽略不计。   你的任务是,根据输入,选择出最优的过桥方案,并输出;   最优方案选择的准则: 1,要求体力消耗最小; 2,在1的前提下,要求步数最少; 3,在1和2的前提下要求路径坐标的字典序最小;

输入

  多组测试用例。每组测试用例第一行为两个整形数 M(1<=M<=100) N(1<=N<=50) ,表示石桥的长和宽。接下来 M 行,每行由 N 大写字母组成,分别表示该位置上石砖的高度。   输入由一行 0 0 结束

输出

针对每组测试用例,输出最省力的方案所消耗的体力值,以及对应的过桥方案; 过桥方案的输出指的是,输出各个经过点的坐标(坐标从1开始),格式为(x1,y1)(x2,y2)..(xn,yn);最优值和最优方案各占一行的输出;

样例输入 复制

4 3
ABA
ABA
AAA
AAA
0 0

样例输出 复制

3
(1,1)(2,1)(3,1)(4,1)

提示

4 3 ABA ABA AAA AAA 其中,14 24 34 44也是可行解,但字典序大于 11 21 31 41 故舍去