60分求助,真的无处debug了(我菜)
查看原帖
60分求助,真的无处debug了(我菜)
1128129
SCP3023楼主2024/8/5 10:32

就一正常动规,为什么有问题啊,我真的 自己造的数据全过了,样例也过了,然而wa了3,4两个点

#include<iostream>
using namespace std;
int main(){
	int x,y,x1,y1;
	cin>>x>>y>>x1>>y1;
	int a[x+1][y+1]={};
	int vis[x+1][y+1]={};
	vis[x1][y1]=1;
	if(x1+1>=0&&y1+2>=0&&x1+1<=x&&y1+2<=y)	
	vis[x1+1][y1+2]=1;
	if(x1+2>=0&&y1+1>=0&&x1+2<=x&&y1+1<=y)
	vis[x1+2][y1+1]=1;
	if(x1-1>=0&&y1+2>=0&&x1-1<=x&&y1+2<=y)
	vis[x1-1][y1+2]=1;
	if(x1-1>=0&&y1-2>=0&&x1-1<=x&&y1-2<=y)
	vis[x1-1][y1-2]=1;
	if(x1+1>=0&&y1-2>=0&&x1+1<=x&&y1-2<=y)
	vis[x1+1][y1-2]=1;
	if(x1+2>=0&&y1-1>=0&&x1+2<=x&&y1-1<=y)
	vis[x1+2][y1-1]=1;
	if(x1-2>=0&&y1+1>=0&&x1-2<=x&&y1+1<=y)
	vis[x1-2][y1+1]=1;
	if(x1-2>=0&&y1-1>=0&&x1-2<=x&&y1-1<=y)
	vis[x1-2][y1-1]=1;
	a[0][0]=1;
	/**for(int i=0;i<=x;i++){
		for(int j=0;j<=y;j++){
			cout<<vis[i][j]<<" ";
		}
		cout<<'\n';
	}*/
	for(int i=0;i<=x;i++){
		for(int j=0;j<=y;j++){
			if(vis[i][j]==0){
				if(i>0){
					a[i][j]+=a[i-1][j];
				}
				if(j>0){
					a[i][j]+=a[i][j-1];
				}
			}
		}
	}
	/*for(int i=0;i<=x;i++){
			for(int j=0;j<=y;j++){
				cout<<vis[i][j]<<" ";
			}
			cout<<'\n';
	}*/
	cout<<a[x][y];
	return 0;
}

2024/8/5 10:32
加载中...