2021-04-04

Scanner sc = new Scanner(System.in);
	int n = sc.nextInt();
	int m = sc.nextInt();
	int[][] arr=new int[n][m];
    double d=sc.nextDouble();
	int [] pos= {0,0};
	int sum=0;
	while ((n-1-pos[0])*(n-1-pos[0])+(m-1-pos[1])*(m-1-pos[1])>d*d) {
		int max=0;
		int x=pos[0];
		int y=pos[1];
		for (int i = 0; i <n; i++) {
			for (int j = 0; j <m; j++) {
				arr[i][j]=(i-pos[0])*(i-pos[0])+(j-pos[1])*(j-pos[1]);
				if(arr[i][j]<=d*d&&arr[i][j]>max&&i>=pos[0]&&j>=pos[1]) {
					max=arr[i][j];
					x=i;
					y=j;			
				}		
			}
		}
		pos[0]=x;
		pos[1]=y;
		sum++;
		System.out.println(pos[0]+",,,"+pos[1]);
	}
	sum++;
	System.out.println(sum);
	## 小明每天都要练功,练功中的重要一项是梅花桩。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值