P1002 [NOIP2002 普及组] 过河卒
查看原帖
P1002 [NOIP2002 普及组] 过河卒
739918
liyuexuan2011楼主2022/8/17 12:19
测试点三不对!

求大佬帮助呜呜呜

#include<bits/stdc++.h>
using namespace std;
long long a[1000][1000],s=0,n1,n2,m1,m2;
int main()
{
	cin>>n1>>n2;
	cin>>m1>>m2;
	a[m1][m2]=-1;
    if(m1-1>=0&&m2-2>=0) a[m1-1][m2-2]=-1;
    if(m1-1>=0&&m2+2>=0) a[m1-1][m2+2]=-1;
    if(m1+1>=0&&m2-2>=0) a[m1+1][m2-2]=-1;
    if(m1+1>=0&&m2+2>=0) a[m1+1][m2+2]=-1;
    if(m1-2>=0&&m2-1>=0) a[m1-2][m2+1]=-1;
    if(m1-2>=0&&m2+1>=0) a[m1-2][m2-1]=-1;
    if(m1+2>=0&&m2-1>=0) a[m1+2][m2-1]=-1;
    if(m1+2>=0&&m2+1>=0) a[m1+2][m2+1]=-1;
    a[0][0]=1;
	for(int i=1;i<=n1;i++)
	{
		if(a[i][0]==-1) a[i][0]=0;
		else a[i][0]=a[i-1][0];
	}
	for(int j=1;j<=n2;j++)
	{
		if(a[0][j]==-1) a[0][j]=0;
		else a[0][j]=a[0][j-1];
	}
    for(int i=1;i<=n1;i++)
    {
    	for(int j=1;j<=n2;j++)
    	{
    		if(a[i][j]==-1)
    		{
    			a[i][j]=0;
			}
    		else
    		{
    			a[i][j]=a[i-1][j]+a[i][j-1];
			}	
		}
	}
	cout<<a[n1][n2];
	return 0;
}
2022/8/17 12:19
加载中...