连接: http://acm.nyist.net/JudgeOnline/problem.php?pid=15
括号匹配(二)
时间限制:1000 ms | 内存限制:65535 KB
难度:6
如:
[]是匹配的
([])[]是匹配的
((]是不匹配的
([)]是不匹配的
每组测试数据都只有一行,是一个字符串S,S中只包含以上所说的四种字符,S的长度不超过100
4 [] ([])[] ((] ([)]
0 0 3 2
#include<stdio.h> #include<string.h> int result[110][110]; char str[110]; bool p(char x,char y) { return(x=='('&&y==')'||x=='['&&y==']'); } int dp(int x=0,int y=strlen(str))//一般都用左闭右开区间 { if(x==y) { result[x][y]=0;//这句话不要忘记 return(0); } int i,f=0,min=1000; for(i=x+1;i<y;i++) { if(p(str[x],str[i])) { if(result[x+1][i]==-1)result[x+1][i]=dp(x+1,i); if(result[i+1][y]==-1)result[i+1][y]=dp(i+1,y); result[x][y]=result[x+1][i]+result[i+1][y]; if(min>result[x][y])min=result[x][y]; f=1; } } result[x][y]=min; if(f==0)result[x][y]=1+dp(x+1,y); return(result[x][y]); } int main() { // freopen("in.txt","r",stdin); //这句话不要忘记去掉 int T; scanf("%d",&T); while(T--) { memset(result,-1,sizeof(result)); scanf("%s",str); printf("%d\n",dp()); } return(0); }
相关推荐
南阳理工oj离线题库
南阳理工学院OJ第1版解题报告V1.0.pdf
南阳理工学院OJ_个人AC代码包(Java提交) 是Java初学者登堂入室的很好例子。
南阳理工学院stl练习场全部ac代码!
南阳理工ACM离线题库
哈理工OJ1084答案哈理工OJ1084答案哈理工OJ1084答案哈理工OJ1084答案哈理工OJ1084答案
OJ动态规划DP题目列表 POJ SOJ HDU 动态规划题目
OJ作业题 8586 括号匹配检验,其实里面很多代码课本上都有的。
山东理工大学2016级OJ进程,始于悦行,终于诚信。
西安理工大学学生在线实验系统编程题答案(超级详细)
算法课OJ作业-基于HTML的分治和动态规划源码.zip算法课OJ作业-基于HTML的分治和动态规划源码.zip算法课OJ作业-基于HTML的分治和动态规划源码.zip算法课OJ作业-基于HTML的分治和动态规划源码.zip算法课OJ作业-基于...
基于Laravel 5.0的OJ题解网站 , 目前涵盖安科OJ,南阳OJ,杭电OJ ,北大OJ,浙大OJ.zip
北航OJ上的动态规划题目整理,部分附代码
趣味题:柱状图排序 西安理工大学学生在线实验系统 oj
基于bootstrap对hustoj前端的二次改造
给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。
在线OJ网址大全在线OJ网址大全在线OJ网址大全在线OJ网址大全
山东科技大学oj题目之二。对于上一个文档新增了许多题目。希望能供给大家分享借鉴。
山东理工大学2016级OJ题目1833
山东理工大学2016级OJ题目1834