60tps! 递推解法WA了2 3两点!dalao求助
查看原帖
60tps! 递推解法WA了2 3两点!dalao求助
1041964
Hola_楼主2024/5/5 18:17

这是为社么?

感觉是对的?

要被隔壁机房dalao嘲讽了

#include <bits/stdc++.h>
using namespace std;
int n,m,cx,cy;
int dirx[8]={1,2,2,1,-1,-2,-2,-1};
int diry[8]={2,1,-1,-2,-2,-1,1,2};
bool a[25][25];
int ans[25][25];
void init(){
	a[cx][cy]=1;
	for(int i=0;i<8;i++){
		int dx=cx+dirx[i];
		int dy=cy+diry[i];
		a[dx][dy]=1;
	}
}bool in(int x,int y){
	return 0<=x&&x<=n&&0<=y&&y<=m;
}int main(){
	cin>>n>>m>>cx>>cy;
	init();
	for(int i=0;i<=n;i++){
		for(int j=0;j<=m;j++){
			if(in(i,j)&&!a[i][j]){
				if(i==0||j==0)ans[i][j]=1;
				else ans[i][j]=ans[i-1][j]+ans[i][j-1];
			}else if(!a[i][j])ans[i][j]=0;
		}
	}cout<<ans[n][m];
	return 0;
} 
2024/5/5 18:17
加载中...