poj 2955 Brackets dp简单题
2015-07-05 10:44
253 查看
//poj 2955 //sep9 #include <iostream> using namespace std; char s[128]; int dp[128][128]; int n; int rec(int l,int r) { if(dp[l][r]!=-1) return dp[l][r]; if(l==r) return dp[l][r]=0; if(l+1==r){ if(s[l]=='('&&s[r]==')') return dp[l][r]=2; if(s[l]=='['&&s[r]==']') return dp[l][r]=2; } int maxx=0; if(s[l]=='('&&s[r]==')') maxx=max(maxx,2+rec(l+1,r-1)); if(s[l]=='['&&s[r]==']') maxx=max(maxx,2+rec(l+1,r-1)); for(int k=l;k<=r-1;++k) maxx=max(maxx,rec(l,k)+rec(k+1,r)); return dp[l][r]=maxx; } int main() { while(scanf("%s",s)==1){ if(s[0]=='e') break; memset(dp,-1,sizeof(dp)); n=strlen(s); printf("%d\n",rec(0,n-1)); } return 0; }
相关文章推荐
- fgets()函数和sscanf()函数的用法
- 类型为 GestureTest 的方法 onDown(MotionEvent)必须覆盖或实现超类型方法
- ios 获得当前最上面的窗口
- lecture R数据可视化
- 配置文件管理任务
- Android EditText 一些属性设置
- (3)Zabbix宏设置
- Lua的特点
- 一个使用hibernate的示例
- 解决Snort Unknown Classtype
- Circuit Board(线段相交)
- mysql error笔记1
- android课程第一节(TextView控件使用)
- UVA 10608 Friends
- matlab图像中的数据类型
- POJ 3368 Frequent values (基础RMQ)
- 第六节:流上下文
- IoC控制反转
- 在CentOS上安装EPEL
- Visual Studio 2013 MFC 编程