求助
查看原帖
求助
344163
㌠㌲㌳㌱㌴㌶楼主2020/5/9 13:58

這是我的P1002的代碼,每次都爆兩個點,教練也看不出來有什么問題,請大家幫忙看一看。

#include<iostream>
#include<cstring>
#include<string>
using namespace std;
long long a[100][100],dp[100][100];
int main()
{
    
    int x,y,x1,y1;
    memset(a,0,sizeof(a));
    memset(dp,0,sizeof(dp));
    cin>>x>>y>>x1>>y1;
    a[x1][y1]=1;
    /*if(x1>=2)
    {
        a[x1-2][y1+1]=1;
        if(y1>=1)
        a[x1-2][y1-1]=1;
    }
    if(x1>=1)
    a[x1-1][y1+2]=1;
    a[x1+1][y1+2]=1;
    a[x1+2][y1+1]=1;
    if(y1>=1)
    a[x1+2][y1-1]=1;
    if(y1>=2)
    a[x1+1][y1-2]=1;
    if(x1>=1&&y1>=2)
    a[x1-1][y1-2]=1;
*/
    a[x1-2][y1+1]=1;
    a[x1-2][y1-1]=1;
    a[x1-1][y1+2]=1;
    a[x1+1][y1+2]=1;
    a[x1+2][y1+1]=1;
    a[x1+2][y1-1]=1;
    a[x1+1][y1-2]=1;
    a[x1-1][y1-2]=1;
    for(int i=0;i<=x;i++)
    {
        for(int j=0;j<=y;j++)
        {
            if(a[i][j]==1)
                dp[i][j]=0;
            else
            {
                if(i==0&&j==0)
                {
                    dp[i][j]=1;
                    continue;
                }
                if(i==0)
                {
                    dp[i][j]=dp[i][j-1];
                    continue;
                }
 
                if(j==0)
                {
                    dp[i][j]=dp[i-1][j];
                    continue;
                }
                 dp[i][j]=dp[i][j-1]+dp[i-1][j];
            }
        }
    } 
    cout<<dp[x][y]<<endl;
    return 0;
}


2020/5/9 13:58
加载中...