信奧賽普及組 洛谷P1002過河卒(遞推基礎(chǔ)) 參考代碼
2022-07-02 18:21 作者:信奧賽USACO鄭老師 | 我要投稿
#include <bits/stdc++.h>
using namespace std;
const int MAXN=20;
const int MAXM=20;
long long cb[MAXN+1+2][MAXM+1+2];
bool block[MAXN+1+2][MAXM+1+2];
int main()
{
? ? int n,m,x,y;
? ? cin>>n>>m>>x>>y;
? ? n+=2;m+=2;x+=2;y+=2;
? ? int cps[8][2]={{-1,-2},{-1,2},{1,-2},{1,2},{2,-1},{2,1},{-2,1},{-2,-1}};
? ? block[x][y]=true;
? ? for(int i=0;i<8;i++){
? ? ? ? block[x+cps[i][0]][y+cps[i][1]]=true;
? ? }
? ? cb[1][2]=1;
? ? for(int i=2;i<=n;i++){
? ? ? ? for(int j=2;j<=m;j++){
? ? ? ? ? ? if(!block[i][j]){
? ? ? ? ? ? ? ? cb[i][j]=cb[i-1][j]+cb[i][j-1];
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? cout<<cb[n][m]<<endl;
? ? return 0;
}
標(biāo)簽: