1 条题解

  • 13
    @ 2023-10-4 15:41:22

    不要以为有很多题解,其实我发时只有0个 AC代码,希望能帮到大家

    #include <bits/stdc++.h>
    using namespace std;
    int a[20][20]={0},n,m,a1,b,sum=0;
    int e[8][2] = {{-2, 1}, {-2, -1}, {-1, 2}, {-1, -2}, {2, 1}, {2, -1}, {1, 2}, {1, -2}};
    void fun(int k,int z,int x)//k表示第几步,z,x表示现在的位置 
    {
    	if(k==n*m)
    		sum++;
    	else
    	{
    		for(int i=0;i<8;i++)
    		{
    			int x1=z+e[i][0];
    			int y1=x+e[i][1];
    			if(x1>=0&&y1>=0&&x1<n&&y1<m&&a[x1][y1]==0)
    			{
    				a[x1][y1]=1;
    				fun(k+1,x1,y1);
    				a[x1][y1]=0;
    			}
    		}
    	}
    }
    int main()
    {
    	int k;
    	cin>>k;
    	while(k--)
    	{
    		sum=0;
    		memset(a, 0, sizeof(a));
    		cin>>n>>m>>a1>>b; 
    		a[a1][b]=1;
    		fun(1,a1,b);
    		cout<<sum<<endl;
    	}
    	
    	return 0;
    }
    
    • @ 2024-5-28 18:37:33

      目前也还是只有大佬你一个image

  • 1

信息

ID
2050
时间
1000ms
内存
128MiB
难度
3
标签
(无)
递交数
150
已通过
80
上传者