算法-1.暴力和枚举
1.相关概念及解析
���举:是基于已有知识来猜测答案的一种问题求解策略。
枚举的思想是不断地猜测,从可能的答案集合中一一尝试,然后再判断题目的条件是否成立。枚举每一种可能性。
暴力:直接模拟题目中要求的操作来求解。
模拟题目通常具有码量大、操作多的特点。由于它码量大,经常会出现难以查错的情况,如果在考试中写错是相当浪费时间的。但是暴力的思路一般较为简单。
枚举和暴力不做严格区分。
2.相关例题及简单解析
在文章中为了方便 ,二维数组[0][0]我不用从[1][1]开始计数。
例一:https://www.luogu.com.cn/problem/P1003
简单解析:
铺地毯,要求-求得某点地毯最上层地毯编号。(输入信息:n张地毯,每张地毯的对角两点坐标,所求点的坐标【a,b】。)
思考:相当于在平面直角坐标系中,求该点的坐标是否在所给定的矩形范围(地毯)内。可以采用循环遍历每个地毯,设地毯左上角坐标为(x1,y1),右下角坐标为(x2,y2),则当满足x1左上 假设最开始时,数组[1][1]有四个初始属性,左端点,右端点,上端点,下端点。则每次运行一个循环后,改变这四个值即可,同时需注意,每次运行一段,四个端点会有一个端点的值发生-
思路:
生成一个 n×n 空矩阵 mat,随后模拟整个向内环绕的填入过程:
定义当前左右上下边界 l,r,t,b,初始值 num = 1,迭代终止值 num == n * n;
当 num
The End