#50. [ABC378D] Count Simple Paths

[ABC378D] Count Simple Paths

原题链接

点我进入原题提交页面

题目描述

给定一个 HHWW 列的网格;令 (i,j)(i, j) 为网格中从上到下第 ii 行、从左到右第 jj 列的格子。

Si,j S_{i,j} . 时,格子为空格;当 Si,j S_{i,j} # 时,格子为障碍物。

请计算从某个空格出发,经过 KK 次移动(上下左右),不经过障碍物且不重复经过同一个格子的路径数。

输入格式

第一行输入 H H W W K K

接下来输入一个 H×WH\times W 的字符矩阵。

输出格式

输出一个整数代表答案。

2 2 2
.#
..
2
2 3 1
.#.
#.#
0
10 10 11
....#..#..
.#.....##.
..#...##..
...#......
......##..
..#......#
#........#
..##......
.###....#.
...#.....#
218070

提示

数据范围

  • 1H,W101 \leq H, W \leq 10
  • 1K111 \leq K \leq 11
  • HH, WW, 和 KK 均为整数。
  • 每个 Si,jS_{i,j} 均为 .#
  • 网格中至少存在一个格子为空格。

样例 1 解释

有两种路径分别如下

  • (1,1)  (2,1)  (2,2) (1,1)\ \to\ (2,1)\ \to\ (2,2)
  • (2,2)  (2,1)  (1,1) (2,2)\ \to\ (2,1)\ \to\ (1,1)