您的位置:首页 > 编程语言 > Go语言

POJ 2195 Going Home 已翻译

2016-12-17 19:14 281 查看




描述

在网格地图上有n个小男人和n房子。在每个单位时间,每个小男人可以水平或垂直移动一个单位步骤到相邻点。对于每个小男人,你需要为他移动的每一步支付$
1的旅费,直到他进入房子。任务是复杂的限制,每个房子只能容纳一个小男人。

你的任务是计算你需要支付的最低金额,以便把这些n个小男人送到那n个不同的房子。输入是场景的映射,a'。表示空白空间,“H”表示该点上的房子,并且“m”表示在该点上有一个小男人。

你可以把网格地图上的每个点想成一个相当大的正方形,所以它可以同时容纳n个小男人;还有,如果一个小男人在没有进入房子的房子上踩着网格就可以了。
输入

在输入中有一个或多个测试用例。每个案例从一个给出两个整数N和M的行开始,其中N是映射的行数,M是列数。其余的输入将是描述地图的N行。你可以假设N和M都在2到100之间,包括2和100。地图上的“H”和“M”数量相同;并将有最多100间房子。对于N和M,输入将以0
0终止。

输出

对于每个测试用例,输出一行与单个整数,这是最小的金额,你需要支付。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: