大佬可以帮忙看看嘛?
查看原帖
大佬可以帮忙看看嘛?
449695
Walker_Syw楼主2021/10/11 19:41
import java.util.Scanner;

public class Main 
{
	public static void main(String []args)
	{
		Scanner scan=new Scanner(System.in);
		int []x=new int[4];
		for(int i=0;i<4;i++)
		{
			x[i]=Integer.parseInt(scan.next());
		}
		boolean [][]y=new boolean[x[0]+1][x[1]+1];
		int [][]z=new int[x[0]+1][x[1]+1];
		for(int i=0;i<=x[0];i++)
		{
			for(int j=0;j<=x[1];j++)
			{
				y[i][j]=true;
				if((i==0||j==0)&&(i!=j))
					z[i][j]=1;
				else
					z[i][j]=0;
			}
		}
		
		y[x[2]][x[3]]=false;
		y[x[2]+1][x[3]+2]=false;
		y[x[2]+2][x[3]+1]=false;
		if(x[2]>=1&&x[2]<2)
		{
			if(x[3]>=1&&x[3]<2)
			{
				y[x[2]-1][x[3]+2]=false;
				y[x[2]+2][x[3]-1]=false;
			}
			else if(x[3]<1)
			{
				y[x[2]-1][x[3]+2]=false;
			}
			else if(x[3]>=2)
			{
				y[x[2]-1][x[3]+2]=false;
				y[x[2]-1][x[3]-2]=false;
				y[x[2]+1][x[3]-2]=false;
				y[x[2]+2][x[3]-1]=false;
			}
		}
		else if(x[2]<1)
		{
			if(x[3]>=1&&x[3]<2)
			{
				y[x[2]+2][x[3]-1]=false;
			}
			else if(x[3]>=2)
			{
				y[x[2]+1][x[3]-2]=false;
				y[x[2]+2][x[3]-1]=false;
				
			}
		}
		else if(x[2]>=2)
		{
			if(x[3]>=1&&x[3]<2)
			{
				y[x[2]-2][x[3]-1]=false;
				y[x[2]-2][x[3]+1]=false;
				y[x[2]-1][x[3]+2]=false;
				y[x[2]+2][x[3]-1]=false;
			}
			else if(x[3]<1)
			{
				y[x[2]-2][x[3]+1]=false;
				y[x[2]-1][x[3]+2]=false;
			}
			else if(x[3]>=2)
			{
				y[x[2]-2][x[3]-1]=false;
				y[x[2]-1][x[3]-2]=false;
				y[x[2]-2][x[3]+1]=false;
				y[x[2]-1][x[3]+2]=false;
				y[x[2]+1][x[3]-2]=false;
				y[x[2]+2][x[3]-1]=false;
			}

		}
		
		for(int i=1;i<=x[0];i++)
		
		{
			for(int j=1;j<=x[1];j++)
			{
				if(!y[i][j])
				{
					z[i][j]=0;
				}
				else
				{
					z[i][j]=z[i-1][j]+z[i][j-1];
				}
			}
		}
		System.out.print(z[x[0]][x[1]]);
	}
}

2021/10/11 19:41
加载中...