Problem C: 985的方格难题(dp)
来源:互联网 发布:上海大学乐乎 bt 编辑:程序博客网 时间:2024/04/28 13:00
Problem C: 985的方格难题
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 425 Solved: 93
SubmitStatusWeb Board
Description
985走入了一个n * n的方格地图,他已经知道其中有一个格子是坏的。现在他要从(1, 1)走到(n, n),每次只可以向下或者向右走一步,问他能否到达(n,n)。若不能到达输出-1,反之输出到达(n,n)的方案数。
Input
第一行输入一个整数t,代表有t组测试数据。
每组数据第一行输入三个整数n,x,y,分别代表方格地图的大小以及坏掉格子的位置。
注:1 <= t <= 20,1 <= n <= 30,1 <= x,y <= n。
Output
若可以到达(n,n)则输出方案数对1e9 + 7取余的结果,反之输出-1。
Sample Input
22 1 22 2 2
Sample Output
1-1
解法一:考虑dp,dp[i][j]表示到达位置(i,j)的方案数,dp[i][j] = -1 表明该位置未被访问,直接暴力转移就可以啦。时间复杂度:O(T * n * n)。解法二:抛开坏的位置不说,发现从(1,1)到达每个位置的方案数都是杨辉三角里面的某个组合数。而且达到位置(n, m)的方案数是C(n + m - 2,m - 1)。记ans[1][1][n][m]为(1,1)到(n,m)的方案数。这样结果就是ans[1][1][n][n] - ans[1][1][x][y] * ans[x][y][n][n]。防止出错,要用逆元。时间复杂度:O(T * log(1e9 + 5)^4)。
0 0
- Problem C: 985的方格难题(dp)
- Problem C: 985的方格难题
- zzuliOJ 1894: 985的方格难题 【dp】
- zzulioj 1894: 985的方格难题 [dp]
- 985的方格难题
- 985的方格难题
- ZZULIOJ-1894-985的方格难题(BFS&规律&DP)
- 【zzuli-oj】-985的方格难题(DP)
- 【hpu oj 1015 985的方格难题 [DP、数学] 】
- 1894: 985的方格难题
- 1894: 985的方格难题
- 1894: 985的方格难题
- zzuli1894: 985的方格难题
- ZZULI OJ-1894 985的方格难题 【DP or 组合数取余】
- 【985系列】985的方格难题
- 【郑轻】[1894]985的方格难题
- ZZULI OJ 1894: 985的方格难题
- zzuilOJ 1894: 985的方格难题
- hdu 5814 Knights ( dp状态设置)
- tomcat配置文件开启gc 日志
- MFC__ZPL语言Zbor打印机打印数据换行问题
- [LeetCode]--196. Delete Duplicate Emails
- DP之最长公共子序列
- Problem C: 985的方格难题(dp)
- 项目实战-PC端固定布局【1】之完成导航
- 基于maven通过spring mvc实现简单用户登录代码下载
- Android快速实现文件下载(只有4行代码)
- CPU与GPU区别大揭秘
- Xcode代码提示出现bug的时候
- linux mysql 二进制安装总结
- 怎样在DbGrid的左边,实现像EXCEL那样的自动编号?
- MVC4 引入CSS