网站怎么设置手机模板管理,国际网站排名查询,做网站准备材料,iis怎么做网站空间题干#xff1a;
描述 输入 输入包含多组数据#xff0c;第一行T表示数据组数接下来每行六个整数n#xff0c;m#xff0c;x1#xff0c;y1#xff0c;x2#xff0c;y2(分别表示n#xff0c;m#xff0c;起点坐标#xff0c;终点坐标)
输出 输出T行#xff0c;表示… 题干
描述 输入 输入包含多组数据第一行T表示数据组数接下来每行六个整数nmx1y1x2y2(分别表示nm起点坐标终点坐标)
输出 输出T行表示起点到终点的路径数
输入样例 1
1
30 30 1 15 3 15
输出样例 1
2
解题报告 这题刚开始想用dfs来写结果发现数字一大连结果都跑不出来再看题、、马只能向右走。于是就可以dp了啊。
AC代码
#includebits/stdc.h
#define ll long long
using namespace std;
int n,m,sx,sy,ex,ey,num;
bool vis[55][55];
ll maze[55][55];
//只能往下走
//void dfs(int x,int y) {
// if(x ex y ey) {
// num;return ;
// }
// if(x 1 || x n ||y 1 || y m) return ;
// if(x ex) return ;if(!vis[x-1][y-2]) {vis[x-1][y-2]1;dfs(x-1,y-2);vis[x-1][y-2]0;}if(!vis[x-2][y-1]) {vis[x-2][y-1]1;dfs(x-2,y-1);vis[x-2][y-1]0;}if(!vis[x-2][y1]) {vis[x-2][y1]1;dfs(x-2,y1);vis[x-2][y1]0;}if(!vis[x-1][y2]) {vis[x-1][y2]1;dfs(x-1,y2);vis[x-1][y2]0;}
// if(!vis[x1][y2]) {
// vis[x1][y2]1;dfs(x1,y2);vis[x1][y2]0;
// }
// if(!vis[x2][y1]) {
// vis[x2][y1]1;dfs(x2,y1);vis[x2][y1]0;
// }
// if(!vis[x2][y-1]) {
// vis[x2][y-1]1;dfs(x2,y-1);vis[x2][y-1]0;
// }
// if(!vis[x1][y-2]) {
// vis[x1][y-2]1;dfs(x1,y-2);vis[x1][y-2]0;
// }
//}int main()
{ll t;cint;while(t--) {scanf(%d%d%d%d%d%d,n,m,sx,sy,ex,ey);
// memset(vis,0,sizeof vis);memset(maze,0,sizeof maze);
// num 0;
// vis[sx][sy]1;maze[sx][sy]1;for(int i sx1; iex; i) {for(int j 1; jn; j) {maze[i][j] maze[i-1][j-2]maze[i-1][j2]maze[i-2][j-1]maze[i-2][j1];}}
// dfs(sx,sy);printf(%lld\n,maze[ex][ey]);}return 0 ;
}