Lightoj 1122 数位DP
2013-11-12 18:37
274 查看
AC代码如下:
#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; int M, N; int number[11]; int dp[11][11]; int DFS( int pos, int pre ){ if( pos > N ){ return 1; } if( dp[pos][pre] != -1 ){ return dp[pos][pre]; } int ans = 0; for( int i = 1; i <= M; i++ ){ if( abs( number[i] - pre ) <= 2 ){ ans += DFS( pos + 1, number[i] ); } } return dp[pos][pre] = ans; } int main(){ int T, Case = 1; cin >> T; while( T-- ){ memset( dp, -1 , sizeof( dp ) ); cin >> M >> N; for( int i = 1; i <= M; i++ ){ cin >> number[i]; } int ans = 0; for( int i = 1; i <= M; i++ ){ ans += DFS( 2, number[i] ); } cout << "Case " << Case++ << ": " << ans << endl; } return 0; }
相关文章推荐
- git
- 网站建设怪圈之四分析
- 两种方式情况页面文本框
- explicit构造函数
- SQL 截图
- dpkg
- 将apusic添加到windows服务
- Mongdb介绍
- wget
- 如何修改apusic应用服务器的启动内存
- image文件图片显示,存储,读取问题
- HDFS bytes read与Map input bytes
- 杭电acm 2091 空心三角形
- Hadoop中map数的计算
- jdbc的事务管理
- SAP 学习笔记 --- 05-10 03.Procurement for Stock Material
- SAP 学习笔记 --- 05-10 03.Procurement for Stock Material
- Hive中对科学计数法表示的字符串的转换
- TCP相关
- Hive中的一种假NULL