#1291. Place the Robots
Place the Robots
当前没有测试数据。
罗伯特是一位著名的工程师。有一天,他的老板给他下达了一项任务。任务的背景如下:
给定一个由正方形块组成的地图。有三种方块:墙、草和空。他的老板想在地图上放置尽可能多的机器人。每个机器人都拿着一把激光武器,可以同时向四个方向(北、东、南、西)射击。机器人必须一直停留在最初放置它的方块上,并一直开火。激光束当然可以穿过格拉斯的网格,但不能穿过沃尔的网格。机器人只能放置在空块中。当然,老板不希望看到一个机器人伤害另一个机器人。换句话说,两个机器人不能放在一条线上(水平或垂直),除非它们之间有一堵墙。
现在你是一个如此聪明的程序员,也是罗伯特最好的朋友之一,他要求你帮助他解决这个问题。也就是说,给定地图的描述,计算可放置在地图中的最大机器人数量。
输入
第一行包含一个整数 T (<= 11),它是测试用例的数量。
对于每个测试用例,第一行包含两个整数 m 和 n (1<= m, n <=50),它们是映射的行和列大小。然后是 m 行,每行包含 n 个字符 '#'、'*' 或 'o',分别代表 Wall、Grass 和 Empty。
输出
对于每个测试用例,首先在一行中输出用例编号,格式为:“Case :id”,其中 id 是测试用例编号,从 1 开始计数。在第二行中,只需输出该地图中可以放置的最大机器人数量。
Place the Robots ZOJ - 1654