80分求救
查看原帖
80分求救
338786
mushroom_knight楼主2020/6/26 14:24

RT,

#include<bits/stdc++.h>
using namespace std;
#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int dx[8]={2,2,-2,-2,-1,-1,1,1};
int dy[8]={1,-1,1,-1,2,-2,2,-2};
unsigned long long f[52][52];
bool vis[52][52];
void init(int x,int y){
	for(register int i=0;i<8;++i){
		int nx,ny;
		nx=x+dx[i];
		ny=y+dy[i];
		if(nx&&ny){
			vis[nx][ny]=true;
		}
	}
	vis[x][y]=true;
}
void dp_(int n,int m){
	for(register int i=0;i<=n;++i){
		for(register int j=0;j<=m;++j){
			if(vis[i][j]!=true){
				f[i+1][j]+=f[i][j];
				f[i][j+1]+=f[i][j];
			}		
	   }
	}
}
int n,m;
int ui,uj;
int main(){
	scanf("%d%d%d%d",&n,&m,&ui,&uj);
	init(ui,uj);
	f[0][0]=1;
	dp_(n,m);
	cout<<f[n][m];
	return 0;
}


2020/6/26 14:24
加载中...