40分,深搜,求调
查看原帖
40分,深搜,求调
1355711
xjc2011楼主2025/1/22 19:45

后3个测试点TLE了......

#include<bits/stdc++.h>
using namespace std;
int n,m,x,y,a[25][25],dy[9]={1,2,2,1,-1,-2,-2,-1,0},dx[9]={2,1,-1,-2,-2,-1,1,2,0};
unsigned long long ans;
void dfs(int a,int b){
	for(int i=0;i<9;i++)
	    if(n+dx[i]==a && m+dy[i]==b)
	    	return;
	if(a==x&&b==y){
	    ans++;
	    return;
	}
	if(a<x) dfs(a+1,b);
	if(b<y) dfs(a,b+1);
	
}
int main(){
	cin>>x>>y>>n>>m;
	dfs(0,0);
	cout<<ans;
	return 0;
}
2025/1/22 19:45
加载中...