【过河卒】WA on #3 #4 已开long long已判数组越界
查看原帖
【过河卒】WA on #3 #4 已开long long已判数组越界
261262
WaltVBAlston楼主2024/7/27 06:13

Rt,用的不是标准dp(复建选手已经忘了hh)但也是递推,不理解为啥错了,常见错误都规避了,求调

#include<iostream>
using namespace std;
long long en,em,n,m,sn,sm;
long long route[31][31];
bool ava[31][31];
int main(){
	sn=2,sm=2;
	cin>>en>>em>>n>>m;
	en+=2,em+=2,n+=2,m+=2;
	for(int i=2;i<=31;i++){
		route[2][i]=1;
		route[i][2]=1;
	}
	for(int i=0;i<=31;i++)
		for(int j=0;j<=31;j++)
			ava[i][j]=true;
	ava[n-2][m-1]=false;
	ava[n-1][m-2]=false;
	ava[n+2][m-1]=false;
	ava[n+1][m-2]=false;
	ava[n-2][m+1]=false;
	ava[n-1][m+2]=false;
	ava[n+2][m+1]=false;
	ava[n+1][m+2]=false;
	ava[n][m]=false;
	route[n][m]=0;
	route[n-2][m-1]=0;
	route[n-1][m-2]=0;
	route[n+2][m-1]=0;
	route[n+1][m-2]=0;
	route[n-2][m+1]=0;
	route[n-1][m+2]=0;
	route[n+2][m+1]=0;
	route[n+1][m+2]=0;
	for(int i=3;i<=en;i++)
		for(int j=3;j<=em;j++){
			if(ava[i][j]==false)
				continue;
			route[i][j]=route[i-1][j]+route[i][j-1];
		}
	cout<<route[en][em];
	return 0;
}
2024/7/27 06:13
加载中...