首页 > 试题广场 >

扫描透镜

[编程题]扫描透镜
  • 热度指数:15271 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
在N*M的草地上,提莫种了K个蘑菇,蘑菇爆炸的威力极大,兰博不想贸然去闯,而且蘑菇是隐形的.只 有一种叫做扫描透镜的物品可以扫描出隐形的蘑菇,于是他回了一趟战争学院,买了2个扫描透镜,一个 扫描透镜可以扫描出(3*3)方格中所有的蘑菇,然后兰博就可以清理掉一些隐形的蘑菇. 问:兰博最多可以清理多少个蘑菇?
注意:每个方格被扫描一次只能清除掉一个蘑菇。

输入描述:
第一行三个整数:N,M,K,(1≤N,M≤20,K≤100),N,M代表了草地的大小;
接下来K行,每行两个整数x,y(1≤x≤N,1≤y≤M).代表(x,y)处提莫种了一个蘑菇.
一个方格可以种无穷个蘑菇.


输出描述:
输出一行,在这一行输出一个整数,代表兰博最多可以清理多少个蘑菇.
头像 hyandsg
发表于 2021-02-18 18:33:09
需要看清题意。1 一次只能清楚一个蘑菇,不管里面种了几个。2 一个格子里面可以种无穷多个3 第二次统计最大值需要考虑第一次的影响。 import java.util.*; public class Main{ public static void main(String[] args){ 展开全文
头像 牛客781393260号
发表于 2021-03-18 19:46:17
由于格子比较少,且只有两次机会,可以直接扫描每个格子周围有几个格子不为空,然后选出最大的值一个很神奇的点是,如果当前有多个备选项值相等,那么总是选最后一个想了想,可能是这样的点往往位于偏右下角的位置,不容易造成全局上的影响 #include<iostream> #include<v 展开全文
头像 牛客499819205号
发表于 2021-10-16 12:23:55
#include <iostream> #include <vector> using namespace std; int use(vector<vector<int>>& matrix, int N, int M) { int ma 展开全文