60分求调!
查看原帖
60分求调!
1127615
yangcenyou楼主2024/6/7 22:00
#include <bits/stdc++.h>
using namespace std;
#define int long long 
long long n,m,x,y;
long long dp[25][25];
signed main(){
	cin>>n>>m>>x>>y;
	n+=2;
	m+=2;
	x+=2;
	y+=2;
	dp[2][2]=1;
	for(long long i=2;i<=n+2;i++) dp[2][i]=1;
	for(long long i=2;i<=m+2;i++) dp[i][2]=1;
	dp[x][y]=-1;
	dp[x-2][y-1]=-1;
	dp[x-2][y+1]=-1;
	dp[x+2][y-1]=-1;
	dp[x+2][y+1]=-1;
	dp[x-1][y-2]=-1;
	dp[x-1][y+2]=-1;
	dp[x+1][y-2]=-1;
	dp[x+1][y+2]=-1;
	for(long long i=2;i<=n+2;i++){
		for(long long j=2;j<=m+2;j++){
			if(dp[i+1][j+1]!=-1){
				dp[i+1][j+1]=dp[i+1][j]+dp[i][j+1];
				if(dp[i+1][j]==-1) dp[i+1][j+1]++;
				if(dp[i][j+1]==-1) dp[i+1][j+1]++;
			}
		}
	}
	/*cout<<dp[n][m]<<'\n';
	for(int i=0;i<=n;i++){
		for(int j=0;j<=m;j++){
			cout<<dp[i][j]<<' ';
		}
		cout<<'\n';
	}*/
	return 0;
}

dp大法,60分,点3与点4WA,求调!

2024/6/7 22:00
加载中...