题目是一个棋盘,给你k个棋子和k个目的地,每一个棋子都是在1行,每一个目的地都是在n行,要求找出让k个棋子移动到k个目的地的路径不交叉的方案数。。
这个其实也是个套路题目,知道一个定理。就可以,但是我不知道定理的名字。
但是考虑2个棋子的情况:
a1 a2 ---> b1 b2
其中使用a -> b表示 a到b的方案数 ;
那就是a1->b1 * a2 -> b2 - a1 -> b2 * a2 -> b1
也就是行列式,
那么拓展到多个,也是一样:
|a1->b1 a1->b2 a1->b3 ..... a1->bk|
|a2->b1 a2->b2 ............ |
|a3->b1 .....
这样的行列式,,,,。。。。
求行列式的代码还需要进一步研究,如果研究出来了,那么只需要求一个200*200的行列式,因为方案数可以通过C与处理出来。