codevs1219 骑士游历 棋盘型DP

来源:互联网 发布:windows gui编程matlab 编辑:程序博客网 时间:2024/04/26 08:26

题目链接:

http://codevs.cn/problem/1219/

很简单的棋盘DP,最水的状态转移(单纯的状态累加)

题意:给你一个马在(x1,y1),只能向右跳,求能跳到(x2,y2)的方案数

代码如下:

#include <bits/stdc++.h>#define Maxn 55using namespace std;typedef long long ll;ll dp[Maxn][Maxn];int n,m,sx,sy,tx,ty;int dx[4] = {1,1,2,2};//x·½Ïò×ÜÊÇÏòÓÒ int dy[4] = {2,-2,-1,1};int main(){scanf("%d%d",&n,&m);scanf("%d%d%d%d",&sx,&sy,&tx,&ty);dp[sx][sy] = 1;//Æðµãfor(int i = 1;i <= n;i ++)//ÄÔ²ÐÒ׶®µÄתÒÆ{for(int j = 1;j <= m;j ++){for(int k = 0;k < 4;k ++){int xx = i + dx[k]; int yy = j + dy[k];if(xx < 1 || yy < 1 || xx > n || yy > m) continue;dp[xx][yy] += dp[i][j];}}} printf("%lld\n",dp[tx][ty]);return 0;}
//16.10.08(每日一题)

0 0
原创粉丝点击