过河卒

2021/11/24 23:42:20

本文主要是介绍过河卒,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#include <bits/stdc++.h>

using namespace std;

int main()
{
    int ax,ay,bx,by;
    cin>>ax>>ay>>bx>>by;
    int arr[ax+5][ay+5];
    ax += 2;
    ay += 2;
    bx += 2;
    by += 2;
    memset(arr,0,sizeof(arr));
    for(int i=0;i<=ax+2;i++)
        for(int j=0;j<=ay+2;j++)
        if(i==0||i==1||i==ax+1||i==ax+2||j==0||j==1||j==ay+1||j==ay+2) arr[i][j] = -1;
    arr[bx][by] = -1;
    arr[bx+1][by-2] = -1;
    arr[bx+2][by-1] = -1;
    arr[bx+2][by+1] = -1;
    arr[bx+1][by+2] = -1;
    arr[bx-1][by+2] = -1;
    arr[bx-2][by+1] = -1;
    arr[bx-2][by-1] = -1;
    arr[bx-1][by-2] = -1;
    arr[2][2] = 1;
    for(int i=2;i<=ax;i++)
        for(int j=2;j<=ay;j++)
    {
        if(arr[i][j]<0) continue;
        if(arr[i-1][j]>0) arr[i][j] += arr[i-1][j];
        if(arr[i][j-1]>0) arr[i][j] += arr[i][j-1];
    }
    cout<<arr[ax][ay]<<endl;
    return 0;
}



这篇关于过河卒的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程