为啥两个WA
查看原帖
为啥两个WA
1351767
zyx_dzpd楼主2024/5/28 21:41
#include<bits/stdc++.h>
using namespace std;
long long a[10001][10001];
int main()
{
	int i,j,b1,b2,m1,m2;
	cin>>b1>>b2>>m2>>m1;
	for(i=0;i<=b1;i++){
		for(j=0;j<=b2;j++){
			a[i][j]=1;
		}
	}
	a[m1][m2]=0;//c
	if(m1+2<=b1&&m2+1<=b2) a[m1+2][m2+1]=0;//p1
	if(m1+1<=b1&&m2+2<=b2) a[m1+1][m2+2]=0;//p2
	if(m1-1>=0&&m2+2<=b2)  a[m1-1][m2+2]=0;//p3
	if(m1-2>=0&&m2+1<=b2)  a[m1-2][m2+1]=0;//p4
	if(m1-2>=0&&m2-1>=0)   a[m1-2][m2-1]=0;//p5
	if(m1-1>=0&&m2-2>=0)   a[m1-1][m2-2]=0;//p6
	if(m1+1<=b1&&m2-2>=0)  a[m1+1][m2-2]=0;//p7
	if(m1+2<=b1&&m2-1>=0)  a[m1+2][m2-1]=0;//p8
/*	for(i=0;i<=b1;i++){
		for(j=0;j<=b2;j++){
			cout<<" "<<a[i][j];
		}
		cout<<endl;
	}
	cout<<endl;*/
	for(i=0;i<=b1;i++){
		for(j=0;j<=b2;j++){
			if(i==0&&j==0) continue;
			if(a[i][j]==0) continue;
			if(i==0) a[i][j]=a[i][j-1];
			else if(j==0) a[i][j]=a[i-1][j];
			else a[i][j]=a[i][j-1]+a[i-1][j];
		}
	}
/*	for(i=0;i<=b1;i++){
		for(j=0;j<=b2;j++){
			cout<<setw(5)<<a[i][j];
		}
		cout<<endl;
	}*/
	cout<<a[b1][b2]<<"\n";
    return 0;
}
2024/5/28 21:41
加载中...