【提问】求大佬优化我的代码!洛谷P1002过河卒 递归解法java

题目如下: 

 

我的代码: 

import java.util.Scanner;

public class Main {
	static Scanner sc = new Scanner(System.in);
	static short bx = sc.nextShort();
	static short by = sc.nextShort();
	static short hx = sc.nextShort();
	static short hy = sc.nextShort();
	static int[] x = {0,-2,-1,1,2,2,1,-1,-2};
	static int[] y = {0,-1,-2,-2,-1,1,2,2,1};
	public static void main(String[] args) {
		System.out.print(num(bx,by));
	}
	static int num(int x1,int y1){
		for (int i = 0;i < 9;i++){
			if(x1 == x[i] + hx && y1 == y[i] + hy){
				return 0;
			}
		}
		if (x1 == 0 || y1 == 0){
			return 1;
		}
		return num(x1 - 1,y1) + num(x1,y1 - 1);
	}
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值