80分!!
查看原帖
80分!!
957610
dinghansun楼主2024/1/13 21:31

直接给80分的代码

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
long long q[21][21];
const int mx[] = {0, -2, -1, 1, 2, 2, 1, -1, -2};
const int my[] = {0, 1, 2, 2, 1, -1, -2, -2, -1};
bool f[40][40];
int main()
{
	long long a,b,n,m;
	cin>>a>>b>>n>>m;
	a+=2;b+=2,n+=2;m+=2;
	f[n][m]=1;
	for(int i=1;i<=8;i++) f[n+mx[i]][m+my[i]]=1;
//	for(int i=1;i<=a;i++){
//		for(int j=1;j<=b;j++){
//			if(f[i][j]==1) cout<<"-1 ";
//			else cout<<" 0 ";
//		}
//		cout<<endl;
//	}
	q[2][1]=1;
	for(int i=2;i<=a;i++){
		for(int j=2;j<=b;j++){
			if(f[i][j]) continue;
			q[i][j]=q[i-1][j]+q[i][j-1];
		}
	}
//	for(int i=2;i<=a;i++){
//		for(int j=2;j<=b;j++){
//			cout<<q[i][j]<<" ";
//		}
//		cout<<endl;
//	}
	cout<<q[a][b];
}

2024/1/13 21:31
加载中...