直接拿吧,AC的
2024-07-15 11:20:56
发布于:北京
6阅读
0回复
0点赞
给个关注吧
#include <iostream>
using namespace std;
int a[10][10];
int n,m,x,y,count=0;
int fd[2][8]={
{-2,-2,-1,-1,1,1,2,2},
{1,-1,2,-2,2,-2,1,-1}
};
int step=0;
void dfs(int h,int l){
if(step==n*m){
count++;
}else{
for(int i=0;i<8;i++){
int nh,nl;
nh = h+fd[0][i];
nl = l+fd[1][i];
if(a[nh][nl]==0&&nh>=0&&nh<n&&nl>=0&&nl<m){
a[nh][nl]=1;
step++;
dfs(nh,nl);
a[nh][nl] = 0;
step--;
}
}
}
}
int main(){
int t;
cin >> t;
for(int i=0;i<t;i++){
cin >> n >> m >> x >> y;
a[x][y] = 1;
step++;
dfs(x,y);
}
cout << count;
return 0;
}
//拿吧别客气
这里空空如也
有帮助,赞一个