410014 - 回家

在一个格子地图上有n个人(以m表示)和n个空间(以H表示,因为你可以把它想象成房子)如图10.27所示,每个人每次能向水平方向或者竖直方向移动一个格子,每移动一格要付出1个单位的代价,直到他进入到某个房子里(每个房子只能有一个人)。试问怎么安排这些人,使房子和人一一配对,使最后的代价最小。

输入

输入有多组测试数据,每组数据第一行为两个整数N和M,N为图的行数,M为图的列数,以下N行描述该图,N和M的值在(2~100)之间,空间数和人数为同样数字。空间不会超过100个。结束以0 0 标志。

输出

每组数据输出一个最少付出的代价。

样例

输入

2 2
.m
H.
5 5
HH..m
.....
.....
.....
mm..H
7 8
...H....
...H....
...H....
mmmHmmmm
...H....
...H....
...H....
0 0

输出

2
10
28
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题