小明每天都要练功,练功中的重要一项是梅花桩。
  小明练功的梅花桩排列成 n 行 m 列,相邻两行的距离为 1,相邻两列的距离也为 1。
  小明站在第 1 行第 1 列上,他要走到第 n 行第 m 列上。小明已经练了一段时间,他现在可以一步移动不超过 d 的距离(直线距离)。
  小明想知道,在不掉下梅花桩的情况下,自己最少要多少步可以移动到目标。
输入格式
  输入的第一行包含两个整数 n, m,分别表示梅花桩的行数和列数。
  第二行包含一个实数 d(最多包含一位小数),表示小明一步可以移动的距离。
输出格式
  输出一个整数,表示小明最少多少步可以到达目标。
样例输入
3 4
1.5
样例输出
3

10评测用例规模与约定
  对于 30% 的评测用例,2 <= n, m <= 20,1 <= d <= 20。
  对于 60% 的评测用例,2 <= n, m <= 100,1 <= d <= 100。
  对于所有评测用例,2 <= n, m <= 1000,1 <= d <= 100。

PS:
这里的搜索肯定是找半径搜索,肯定是半径搜索的最右下面的,
下面那个图,看一下,我的y2是最靠下的位置,x2++,如果超出了半径范围,
那么y2就往上走,x2++的范围继续搜索,如果没有超过半径范围,x2++就继续向右面找
然后在超过半径,就y2–往上走,知道y2<y1,
因为他是右下走,所以你只需要考虑右下方向的路径
不好意思,实在是不清楚怎么把他转过来

package 蓝桥杯省模拟赛_高职组;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;public class 梅花桩 {public static void main(String[] args) {List<Integer> list_y = new ArrayList<Integer>();List<Integer> list_x = new ArrayList<Integer>();Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();double d = sc.nextDouble();sc.close();int[][] map = new int[n+1][m+1];list_x.add(1);list_y.add(1);while (list_x.size()!=0){int x1 =list_x.remove(0);int y1=list_y.remove(0);int x2=x1;int y2=y1+(int)d;if((n-x1)*(n-x1) + (m-y1)*(m-y1) <= d*d){map[n][m] = map[x1][y1] + 1;break;}while (x2 <= n && y2 >= y1 && y2 <= m){if((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1) <= d * d && map[x2][y2] == 0){list_x.add(x2);list_y.add(y2);map[x2][y2] = map[x1][y1] + 1;x2 ++;}else y2 --;}}System.out.println(map[n][m]);}
}

Java 第十一届 蓝桥杯 省模拟赛 梅花桩相关推荐

  1. Java 第十一届 蓝桥杯 省模拟赛 小明的城堡

    小明用积木搭了一个城堡. 为了方便,小明在搭的时候用的是一样大小的正方体积本,搭在了一个 n 行 m 列的方格图上,每个积木正好占据方格图的一个小方格. 当然,小明的城堡并不是平面的,而是立体的.小明 ...

  2. Java 第十一届 蓝桥杯 省模拟赛 递增序列

    问题描述 在数列 a[1], a[2], -, a[n] 中,如果 a[i] < a[i+1] < a[i+2] < - < a[j],则称 a[i] 至 a[j] 为一段递增 ...

  3. Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制

    问题描述 请问十六进制数1949对应的十进制数是多少?请特别注意给定的是十六进制,求的是十进制. 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这 ...

  4. Java 第十一届 蓝桥杯 省模拟赛 第十层的二叉树

    一棵10层的二叉树,最多包含多少个结点? 注意当一棵二叉树只有一个结点时为一层. 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这个整数,填写多余 ...

  5. Java 第十一届 蓝桥杯 省模拟赛 小明植树(DFS)

    小明植树 题目 问题描述 小明和朋友们一起去郊外植树,他们带了一些在自己实验室精心研究出的小树苗. 小明和朋友们一共有 n 个人,他们经过精心挑选,在一块空地上每个人挑选了一个适合植树的位置,总共 n ...

  6. Java 第十一届 蓝桥杯 省模拟赛 反倍数

    反倍数 题目 问题描述 给定三个整数 a, b, c,如果一个整数既不是 a 的整数倍也不是 b 的整数倍还不是 c 的整数倍,则这个数称为反倍数. 请问在 1 至 n 中有多少个反倍数. 输入格式 ...

  7. 【(高职专科组)第十一届蓝桥杯省模拟赛答案】小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。

    目录 题目:洁净数 要点 代码 题目:洁净数 问题描述 小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数.如果一个数的数位不包含数字 2,小明将它称为洁净数. 请问在整数 1 至 n 中,洁净 ...

  8. 【(高职专科组)第十一届蓝桥杯省模拟赛答案】小明每天都要练功,练功中的重要一项是梅花桩。

    题目:梅花桩 问题描述 小明每天都要练功,练功中的重要一项是梅花桩. 小明练功的梅花桩排列成 n 行 m 列,相邻两行的距离为 1,相邻两列的距离也为 1. 小明站在第 1 行第 1 列上,他要走到第 ...

  9. c++判断奇偶_第十一届(今年)蓝桥杯省模拟赛 试题+源码 C/C++详解

    后台回复开发工具,免费获取C语言常用编译器 本文章来源:CSDN|亓官劼 本文是第十一届蓝桥杯省模拟赛的试题和部分题解,博主参加的是4.13日的下午场,也就是本次模拟赛的第一天了吧,不知道有没有上午场 ...

最新文章

  1. 彻底澄清:C#方法参数
  2. Linux驱动之混杂设备(misc)
  3. init与clinit的区别
  4. python中类的定义方法_在Python中定义类变量的正确方法
  5. python选取元音开头的单词_一学生易错词汇aan的选择元音字母开头的单词用an辅音字母...
  6. 作者:袁书寒,男,同济大学博士生。
  7. labimage 怎样旋转图片_西安匠艺工坊丨别克gl8内饰改装床车图片,精湛工艺,空间力量...
  8. 【编程算法】跳跃游戏ⅠⅡⅢ(Python解法)
  9. 落的多音字组词有哪些
  10. python学习笔记(8)
  11. 京东官网首页js+css+html基础
  12. 既然选择了远方,便只顾风雨兼程
  13. KEIL平台下新建华大HC32F460单片机工程笔记
  14. 【Unity3D】基于模板测试和顶点膨胀的描边方法
  15. 浏览器的三个精度Bug
  16. 【解决方案】基于国标GB28181协议EasyGBS平台搭建的交警执法综合管理视频监控方案
  17. dubbo源码分析总结
  18. ibm服务器x3650m4引导,IBM X3650 M4安装win 2008 Server操作指南
  19. Cannot enable Hyper-V service
  20. Qt5生成Word格式报告

热门文章

  1. C语言使用二维数组存储姓名,C语言二维数组 - osc_it9fazjn的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. ubuntu14.04显卡驱动问题(amd5600k集显7650d)
  3. 讲究!字符串拆分还能这么玩
  4. Excel图表—商务气息浓厚的滑珠图
  5. 2020第十一届蓝桥杯国赛个人题解+源代码
  6. 数学建模笔记(十四):马氏链模型
  7. 学堂在线050104 中国少数民族神话赏析(2019春)
  8. 泰凌微8258入门教程 进阶篇③——LIGHT HSL+CT 彩色灯+色温灯调光
  9. php ywsbxny cn,jquery幻灯片插件bxslider样式改进实例_jquery
  10. Semaphore 源码解读