【题解-信息学奥赛一本通】1219:马走日

📅 2026/7/16 1:54:21
【题解-信息学奥赛一本通】1219:马走日
题目1219马走日题目描述马在中国象棋以日字形规则移动。请编写一段程序给定n×m大小的棋盘以及马的初始位置(xy)要求不能重复经过棋盘上的同一个点计算马可以有多少途径遍历棋盘上的所有点。输入第一行为整数T(T 10)表示测试数据组数。每一组测试数据包含一行为四个整数分别为棋盘的大小以及初始位置坐标n,m,x,y。(0≤x≤n-1,0≤y≤m-1, m 10, n 10)。输出每组测试数据包含一行为一个整数表示马能遍历棋盘的途径总数0为无法遍历一次。时空限制1s / 64MB样例输入1 5 4 0 0样例输出32代码#includebits/stdc.husingnamespacestd;constintN910;intt,n,m,sx,sy,dx[10]{-2,-1,1,2,2,1,-1,-2},dy[10]{1,2,2,1,-1,-2,-2,-1},ans;boolvis[N][N];voiddfs(intx,inty,intsum){if(sumn*m){ans;return;}for(inti0;i8;i){intxxxdx[i],yyydy[i];if(xx0xxnyy0yym!vis[xx][yy]){vis[xx][yy]true;dfs(xx,yy,sum1);vis[xx][yy]false;}}}intmain(){cint;while(t--){cinnmsxsy;memset(vis,false,sizeofvis);vis[sx][sy]true;ans0;dfs(sx,sy,1);coutansendl;}return0;}结果