9 条题解

  • 2
    @ 2023-8-23 10:23:00
    #include<iostream>
    #include<string>
    #include<algorithm>
    #define ll long long
    using namespace std;
     
    const int fx[] = { 0,-2,-1,1,2,2,1,-1,-2 };
    const int fy[] = { 0,1,2,2,1,-1,-2,-2,-1 };
    //马可以走到的位置
     
    int bx, by, nx, my;
    ll lj[40][40];
    bool s[40][40];//判断这个点能不能走
     
    int main()
    {
    	//c scanf输入数据 printf输出数据
    	cin >> bx >> by >> nx >> my;
    	bx += 2; by += 2; nx += 2; my += 2;
    	lj[1][2] = 1;//初始化让lj[2][2]=1;
    	s[nx][my] = 1;
    	for (int i = 1; i <= 8; i++)
    	{
    		s[nx + fx[i]][my + fy[i]] = 1;
    	}
    	for(int i=2;i<=bx;i++)
    		for (int j = 2; j <=by; j++)
    		{
    			if (s[i][j])
    			{
    				continue;//lj[i][j] = 0;
    			}
    			lj[i][j] = lj[i - 1][j] + lj[i][j - 1];
    		}
    	cout << lj[bx][by] << endl;
    	//return 0;
    }
    // 
    //     	   __  __          __  
    //  	  / / / /_  ______/ /________ 
    //       / /_/ / / / / __  / ___/ __ \
    //  	/ __  / /_/ / /_/ / /  / /_/ /
    //     /_/ /_/\__, /\__,_/_/   \____/ 
    //           /____/                   
    // 
    

    信息

    ID
    224
    时间
    1000ms
    内存
    16MiB
    难度
    5
    标签
    递交数
    102
    已通过
    40
    上传者