题目
有一些格子不可以走,问从棋盘的左上角走到右下角有多少种走法
分析
可以走的格子太多了,所以应该用反向思维,如果都可以走,最终答案为 C r + c − 2 r − 1 C_{r+c-2}^{r-1} Cr+c−2r−1,然而剩下的?那么可以设 f [ i ] f[i] f[i]为经过第i个不可以走的格子,而没有走过其它不可以走的格子的走法(设终点也是不可以走的格子)
f [ i ] = C x i + y i − 2 x i − 1 − ∑ j = 0 i − 1 f [ j ] × C x i − x j + y i − y j x i − x j ( x i ≥ x j , y i > y j ) f[i]=C_{x_i+y_i-2}^{x_i-1}-\sum_{j=0}^{i-1}f[j]\times C_{x_i-x_j+y_i-y_j}^{x_i-x_j}(x_i\geq x_j,y_i>y_j) f[i]=Cx