20分 救命
查看原帖
20分 救命
914467
lao_sicheng楼主2023/6/17 10:54

20分求救救命

#include<bits/stdc++.h>
#include<cstring>
#include<iostream>
using namespace std;
const int N=25;
long long f[N][N];
int dx[9]={0,-2,-1,1,2,2,1,-1,-2};
int dy[9]={0,1,2,2,1,-1,-2,-2,-1};
int main(){
    int n,m,x,y;
    cin>>n>>m>>x>>y;
    memset(f,-1,sizeof(f));
    for(int i=0;i<9;i++){
    	int a=x+dx[i],b=y+dy[i];
    	if(a<0||a>n||b<0||b>m){
    		continue;
		}
		f[a][b]=0;
	}
	for(int i=0;i<=n;i++){
		f[i][0]=1;
	}
	for(int i=0;i<=n;i++){
		f[0][i]=1;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(f[i][j]==-1){
				f[i][j]=f[i-1][j]+f[i][j-1];
			}
		}
	}
	cout<<f[n][m]; 
	return 0;
}
2023/6/17 10:54
加载中...