Type: Default 1000ms 256MiB

魔法独角兽

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

魔法独角兽

背景故事

在一个魔法世界里,有一只被赋予特殊能力的独角兽,它的使命是通过跳跃遍历一张魔法棋盘的每一个格子,找到所有可能的路径。你的任务是帮助它计算出完成使命的所有可能跳跃路径!

描述

在一个魔法棋盘上,有一只会跳跃的独角兽,它的移动规则类似于中国象棋中的“马”,即以“日”字形跳跃。独角兽的任务是从棋盘上的一个指定起始位置出发,按照规则跳跃,遍历棋盘上的每一个格子且不能重复经过同一个格子。

请编写一个程序,给定棋盘的大小和独角兽的起始位置,计算独角兽有多少种不同的路径可以遍历棋盘上的所有格子。如果无法完成遍历,则输出 0。


输入格式

第一行包含一个整数 T T T<10 T < 10 ),表示测试数据的组数。

接下来的 T T 行,每行包含四个整数 n,m,x,y n, m, x, y ,分别表示棋盘的行数、列数以及独角兽的起始位置坐标 (x,y) (x, y) (满足 0xn1 0 \leq x \leq n-1 0ym1 0 \leq y \leq m-1 ,且 n,m5 n, m \leq 5 )。


输出格式

对于每组测试数据,输出一行,为一个整数,表示独角兽能遍历棋盘的所有格子的路径总数。如果无法遍历一次,则输出 0。


样例

输入样例

1
5 4 0 0

输出样例

32

ACM寒假第二次训练

Not Attended
Status
Done
Rule
XCPC
Problem
8
Start at
2025-1-16 14:00
End at
2025-1-16 17:00
Duration
3 hour(s)
Host
Partic.
37