洛谷 P1002
\(洛谷P1002\)
一个简单的DP题目,状态转移公式 \(dp[i][j]=dp[i-1][j]+dp[i][j-1]\),注意马能到达的地方和马现在的地方,\(dp = 0\)。
#include<bits/stdc++.h>
using namespace std;
bool vis[25][25];
long long step[25][25];
inline int r()
{
int q, x = 1;
char ch;
while (! isdigit(ch = getchar())) if (ch == '-') x = -1;
q = ch ^ '0';
while (isdigit(ch = getchar())) q = (q<<3) + (q<<1) + (ch^'0');
return q;
}
int main() {
step[1][1]=1;
int n,m,x,y;
n=r(); m=r(); x=r(); y=r();
n++;
m++;
x++;
y++;
vis[x][y]=1;
vis[x-2][y-1]=1;
vis[x-2][y+1]=1;
vis[x+2][y-1]=1;
vis[x+2][y+1]=1;
vis[x-1][y+2]=1;
vis[x-1][y-2]=1;
vis[x+1][y+2]=1;
vis[x+1][y-2]=1;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
if((i!=1||j!=1)&&!vis[i][j])
step[i][j]=step[i-1][j]+step[i][j-1];
cout<<step[n][m];
return 0;
}
本文来自博客园,作者:yhbqwq,转载请注明原文链接:https://www.cnblogs.com/yhbqwq/articles/Luogu_P1002.html,谢谢QwQ