1. 程式人生 > >code vs 1216 跳馬問題

code vs 1216 跳馬問題

image tab nbsp cor 一個 總數 phy mut ack

1216 跳馬問題

時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題目描述 Description

題目

技術分享圖片 輸入描述 Input Description

第一行兩個正整數M,N(0<M,N≤300)分別表示行和列
第二行兩個正整數,表示起點的行列坐標。
第三行兩個正整數,表示終點的行列坐標

輸出描述 Output Description

一個正整數,表示方案總數對123456求余

樣例輸入 Sample Input

3 3

1 1

2 3

樣例輸出 Sample Output

1

數據範圍及提示 Data Size & Hint

1

分類標簽 Tags 點此展開

思路:記憶化搜索,爆搜gg。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define mod 123456
using namespace std;
int f[350][350
]; int n,m,sx,sy,tx,ty,ans; int dfs(int x,int y){ if(x<1||x>n||y<1||y>m) return 0; if(f[x][y]) return f[x][y]; return f[x][y]+=(dfs(x-1,y-2)+dfs(x-1,y+2)+dfs(x-2,y-1)+dfs(x-2,y+1)); } int main(){ scanf("%d%d%d%d%d%d",&n,&m,&sx,&sy,&tx,&ty); f[sx][sy]
=1; dfs(tx,ty); cout<<f[tx][ty]%mod; }

code vs 1216 跳馬問題