题目地址:http://www.51cpc.com/web/problem.php?id=1586
Summarize:
1. 题目坐标系所给 x,y与惯用表示横纵坐标相反
2. 搜索超时,使用动规;
顺序扫描AC,但反序扫描WA,后续反省;
3. 走“日”字包括横向与竖向;
4. 数据范围爆int;
附顺序动规代码:
/*
2018-07-25 骑士游历
题中给出坐标图,x,y与常规颠倒
*/
#include<iostream>
#include<cstring>
using namespace std;
#define LL long long int n,m;
int x1,y1,x2,y2;
LL dp[][]; int main()
{
ios::sync_with_stdio(false); while(cin>>n>>m)
{
cin>>x1>>y1>>x2>>y2;
x1--,y1--,x2--,y2--; if(n < ) {
cout<<<<endl;
continue;
} memset(dp, , sizeof(dp));
dp[x1][y1] = ;
for(int i=x1; i<=x2; i++)
for(int j=; j<n; j++)
{
if(j>= && i+<m) dp[i+][j-] += dp[i][j];
if(j+<n && i+<m) dp[i+][j+] += dp[i][j];
if(j+<n && i+<m) dp[i+][j+] += dp[i][j];
if(j>= && i+<m) dp[i+][j-] += dp[i][j];
}
cout<<dp[x2][y2]<<endl;
} return ;
}