P1002 [NOIP2002 普及组] 过河卒

#include<iostream>
using namespace std;
long long map1[50][50];//两边从10开始访问 
int sum;
int bx,by;
int main(){
    int horsey,horsex;
    
    cin>>by>>bx>>horsey>>horsex;
    
    horsey+=10;
    horsex+=10;
    by+=11;
    bx+=11;
    
    map1[10][10]=1;
    
    for(int i=10;i<by;i++){
        for(int j=10;j<bx;j++){
            if(i==10&&j==10)
                continue;
            map1[i][j]=map1[i-1][j]+map1[i][j-1];
            map1[horsey-2][horsex+1]=0;
            map1[horsey-1][horsex+2]=0;
            map1[horsey+1][horsex+2]=0;
            map1[horsey+2][horsex+1]=0;
            map1[horsey+2][horsex-1]=0;
            map1[horsey+1][horsex-2]=0;
            map1[horsey-1][horsex-2]=0;
            map1[horsey-2][horsex-1]=0;
            map1[horsey][horsex]=0;
//                for(int i=10;i<by;i++){
//                    for(int j=10;j<bx;j++){
//                        cout<<map1[i][j]<<" ";
//                    }
//                    cout<<endl;
//                }
//                cout<<endl;
        }
    }
    
    cout<<map1[by-1][bx-1];
    
    return 0;
} 

 

posted @ 2021-08-25 08:39  LinkWish  阅读(335)  评论(0)    收藏  举报