下面是样例示意图:
输入数据包括五个参数:m,n,x,y,K
其中m和n的范围均为是[1,10],K的范围是[0,10]。
0<=x<m,0<=y<n。
输出成功逃跑的路径数量。
2 3 0 1 2
6
package main
import (
"fmt"
)
func main() {
var m,n,x,y,k int
fmt.Scan(&m,&n,&x,&y,&k)
ans:=0
var dfs func(int,int,int)
dfs=func(i,j int,tot int){
if tot>k{
return
}
if (i<0||i>=m||j<0||j>=n)&&tot<=k{
ans++
return
}
tot++
dfs(i+1,j,tot)
dfs(i-1,j,tot)
dfs(i,j+1,tot)
dfs(i,j-1,tot)
}
dfs(x,y,0)
fmt.Print(ans)
}