当前位置: 首页 > news >正文

蓝桥杯第 十一天 国赛 2020 第 2题 扩散

借鉴了大佬做法,之前以为是有半个边界的(就是横纵坐标不能小于0)

后来才发现是完全无界

 public static void main(String[] args) {
	        Scanner scan = new Scanner(System.in);
	        int res = 0;
	        for(int i = 2980; i <= 9040; i++){
	            for(int j = 2980; j <= 9040; j++){
	                if((Math.abs(i - 5000) + Math.abs(j - 5000) <= 2020) ||
	                        (Math.abs(i - 7020) + Math.abs(j - 5011) <= 2020) ||
	                        (Math.abs(i - 5011) + Math.abs(j - 5014) <= 2020) ||
	                        (Math.abs(i - 7000) + Math.abs(j - 7000) <= 2020))
	                    res++;
	            }
	        }
	        System.out.print(res);
	        scan.close();
	    }

全部把这四个点坐标加5000 (放心绝对可以,跟我的世界一样是无限的空间)

那么不管你怎么走,最多让横坐标或者纵坐标改变2020格

[[[[[想一下我的世界,如果你只能走2020步(只能横竖走),比如你现在坐标是(5000,5000)(高度坐标我就不加了,免得搞混),横坐标多变成7020最少2980,纵坐标也最多变成 7020,最少2980 ]]]]]]]

而这个是会扩散的,也就是范围内所以的点都会波及到(思考一下) 。

有两个难点

第一、范围问题

因为有四个点,四个范围,肯定有范围,计算得知是2980-9040,2980是(5000,5000)这个点向左扩散,9040是(7020,5011)向下扩散2020得到的(反正范围开大了肯定不会漏,没坏处)

第二 、if条件

以这个为例(Math.abs(i - 5000) + Math.abs(j - 5000) <= 2020),还是我的世界那个例子,让你走2020步,然后给你 i ,j 坐标,且只能横竖走不能斜着走,给出坐标,然后判断他与原来坐标的横竖坐标的差值就是最少步数(很多种走法,其实步数都一样)。

相关文章:

  • CVE-2021-45232未授权接口练习笔记
  • conda环境下解决gitk乱码模糊
  • Postman使用02、断点、fiddler弱网测试
  • Java 基于微信小程序的开放实验室预约管理系统
  • 从单机到集群:Elasticsearch集群搭建指南
  • HTML5 初探:新特性与本地存储的魔法
  • IP-guard与Ping32哪个加密更强?两款加密软件的安全架构解析
  • 专访中兴通讯蒋军:AI数字人驱动企业培训,“内容生产”与“用户体验”双重提升
  • 第十节 MATLAB逻辑运算
  • 深入 SVG:矢量图形、滤镜与动态交互开发指南
  • 【微服务】SpringCloudGateway网关
  • 【开源宝藏】30天学会CSS - DAY8 第八课 跳动的爱心动画
  • 嵌入式八股文学习——基类构造与析构、成员初始化及继承特性详解
  • RAG核心概念
  • 蓝桥杯备考:差分数组+贪心Tallest Cow S
  • uv:Rust 驱动的 Python 包管理新时代
  • 里氏替换原则
  • SQL-查询漏洞
  • 通过国内源在Ubuntu20.0.4安装repo
  • 【时时三省】(C语言基础)用if语句实现选择结构
  • 房山区网站建设/公司网站建设费用多少
  • 网站响应式首页模板/蚌埠网络推广
  • 除了dz论坛还能搭建什么网站/百度云网盘搜索引擎入口
  • 网页 网站及与之相关的概念/如何推广品牌知名度
  • 网站调用时间/南宁网站建设公司排行
  • 长沙做网站的故事/提升网站权重的方法