hdu 4632 回文子序列计数
2013-10-09 20:44
246 查看
水题
View Code
#include<iostream> #include<stdio.h> #include<cstring> #include<algorithm> #include<vector> #define mod 10007 using namespace std; char str[1002]; int dp[1002][1002],cas; void work( ) { int len = strlen( str ); memset( dp,0,sizeof(dp) ); for( int i = 0; i < len; i++ )dp[i][i] = 1; for( int i = 1; i < len; i++ ) for( int j = 0; j + i < len; j++ ) { int t = i+j; dp[j][t] = dp[j][t-1] + dp[j+1][t]; if( j+1 <= t-1 ) dp[j][t] -= dp[j+1][t-1]; if( str[j] == str[t] ) { if( j+1 <= t-1 ) dp[j][t] += dp[j+1][t-1] + 1; else dp[j][t]++; } dp[j][t] %= mod; dp[j][t] += mod; } dp[0][len-1] %= mod; printf("Case %d: %d\n",cas++,dp[0][len-1]); } int main( ) { int T; cas = 1;scanf("%d",&T); while( T-- ){ scanf("%s",&str);work( ); } return 0; }
View Code
相关文章推荐
- 类成员函数指针的使用方式
- POJ-3294-Life Forms
- JBoss 系列十二:基于jGroups的群组聊天程序
- 一个中型项目:本地校园App
- MySQL 的主从复制
- 利用Qt与OpenCV简单实现摄像头图像捕捉
- 精选的一些《编程之美》相关资料
- Android小问题
- 05 进阶音效控制与管理
- 如何通过摄像头进行拍照
- Unity3d_iGUI_对iGUICode_xx.cs文件重新命名
- 经典面试试题
- 树基础
- DBVERIFY
- 变量内存分配情况
- 腾讯视频真实地址解析
- 【OpenCV学习】摄像头显示、录像、拍照程序
- eclipse+subclipse插件配置及使用
- 音乐播放器代码和网页播放器代码
- 去重系统的垃圾回收