Java练习题十四期:不要二
嘿!
这期博客又是一期练习题,希望对你有帮助!
文章目录
- 前言
- 一,题目
- 二,解析
- 三,代码
前言
如果哪里写错了或者不明白的都可以私聊我哦!谢谢!
一,题目
二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。
对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。
二,解析
本题的重点是要读懂题意,并且需要多读两遍,才能读懂,本题本质就是在二维数组中每个坐标去放蛋糕,
一个坐标位置放了蛋糕,跟他欧几里得距离为2的位置不能放蛋糕,这个就是关键点。对于两个格子坐标
(x1,y1),(x2,y2)的欧几里得距离为: ( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根 。
也就是说:如果(x1,y1)放了蛋糕,则满足 ( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) == 4的(x2,y2)不能放蛋
糕。
( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) == 4看起来是一个无解的表达式。
但是可以进行加法表达式分解:
1+3=4
3+1=4
2+2=4
0+4=4
4+0=4
仔细分析前三个表达式是不可能的,因为(x1-x2) * (x1-x2)表达式结果不能等于2或3。也就是说( (x1-x2) * (x1-x2) 和(y1-y2) * (y1-y2) )两个表达式一个等于0,一个于4.可以看出:假设放蛋糕的位置是(x1,y1),则不能放蛋糕的位置(x2,y2),满足x1x2,y1-y22或者x1-x22,y1y2.
三,代码
import java.util.Scanner;public class Main2 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int w = scanner.nextInt();int h = scanner.nextInt();int[][] arr = new int[w][h];int count =0;for (int i = 0; i < w; i++) {for (int j = 0; j <h ; j++) {if (arr[i][j]==0){count++;if (i+2 <w){arr[i+2][j] = 1;}if (j+2 <h){arr[i][j+2] = 1;}}}}System.out.println(count);}
}
这期博客就到此结束了!希望对你有帮助哈!
记得关注小猪哦!
下期再见了!
Java练习题十四期:不要二相关推荐
- CSDN 编程竞赛二十四期题解
竞赛总览 CSDN 编程竞赛二十四期:比赛详情 (csdn.net) 本次竞赛感觉打模板的题变少了,而且多了很多可以集思广益的题目,参赛体验很好. 竞赛题解 题目1.计数问题 试计算在区间1到n的所有 ...
- 光子浏览器_光子学公开课第十四期 明日开课 | 上海大学金翊教授:三值光学计算机...
导引 三值光学处理器用无光态和偏振方向正交的两个线偏振光态表达信息,用旋光器和偏振片制作光学运算器,沿用现有的计算机外设和存储芯片.依据降值设计理论构造出的三值逻辑光学处理器能够根据用户的需要而改变硬 ...
- 第十四期公关大讲堂:公关稿件写作理念、方法与技巧.
11月28日(周六),陪同伙伴来到北京东湖俱乐部,参加了第十四期公关大讲堂的培训,此次培训内容为"公关稿件写作理念,方法与技巧",由蓝标公关机构首席撰稿顾问吴士深做演讲. ...
- 一门课程学习转录组调控分析和R可视化第十四期 (线上线下开课)
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程.转录组线上直播课.报名参加线上直播课的老师可在365天内选择参加同课程的一次线下 ...
- 数据库管理-第二十四期 数据库设计-硬件篇(20220610)
数据库管理 2022-06-10 第二十四期 数据库设计-硬件篇 1 CPU 2 内存 3 存储 4 网络 5 总结 下期预告: 第二十四期 数据库设计-硬件篇 上次与这次的更新间隔比之前短多了,主要 ...
- 高级转录组调控分析和R语言数据可视化第十四期 (线上线下开课)
福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析.宏基因组.Python课程.转录组线上直播课.报名参加线上直播课的老师可在365天内选择参加同课程的一次线下 ...
- CSDN 编程竞赛十四期题解
竞赛总览 CSDN编程竞赛十四期:比赛详情 (csdn.net) 本次竞赛题目难度适中,并且题目的解法(思路)也比较多,很适合新人学习. 竞赛题解 题目1.字符串全排列 对K个不同字符的全排列组成的数 ...
- Java第十四课——相声和群口相声
Java第十四课--相声和群口相声 Java第十四课--相声和群口相声 一.聊天界面优化 二.增加发送内容的样式 三.群聊雏形 相声,我们知道有一个逗哏一个捧哏,也就是一唱一和,也就相当于双向的交流. ...
- 二分法查找c语言程序_C语言的那些经典程序 第十四期
戳"在看"一起来充电吧! C语言的那些经典程序 第十四期 本期小C给大家带来三个用C语言解决实际问题的典例.如果全都理解,相信肯定能给大家带来收获!接下来让我们看看是哪些程序吧! ...
最新文章
- 【Android基础】 Launch Mode
- 新电脑一般javaweb配置
- BZOJ 1664: [Usaco2006 Open]County Fair Events 参加节日庆祝( dp )
- CLIENT系列、OFFSET系列、SCROLL系列
- BC div2补题以及 复习模除 逆元__BestCoder Round #78 (div.2)
- localStorage和sessionStorage的简单使用
- cpu时间片 linux,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...
- linux之秘钥登录
- mysql字符集编码解析_MySQL字符集编码的理解
- Python空间分析| 03 利用Python进行地理加权回归(GWR)
- 真正UltraISO 9.5.5.2960中文完美注册版
- windows注册表文件关联机制
- 饼图的属性和南丁格尔双图并列显示
- SpringCloud 分布式日志采集方案
- 重心法选址 matlab程序,Excel重心法选址计算题的详细步骤
- 历史上的今天——4月1日
- iOS开发之集成支付宝
- 什么是再生纤维素纤维
- Three.js精灵模型Sprite
- centos7 异常关机 分析。