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 故舍去