博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 P1241 括号序列
阅读量:5123 次
发布时间:2019-06-13

本文共 2227 字,大约阅读时间需要 7 分钟。

P1241 括号序列

题目描述

定义如下规则序列(字符串):

1.空序列是规则序列;

2.如果S是规则序列,那么(S)和[S]也是规则序列;

3.如果A和B都是规则序列,那么AB也是规则序列。

例如,下面的字符串都是规则序列:

(),[],(()),([]),()[],()[()]

而以下几个则不是:

(,[,],)(,()),([()

现在,给你一些由‘(’,‘)’,‘[’,‘]’构成的序列,你要做的,是找出一个最短规则序列,使得给你的那个序列是你给出的规则序列的子列。(对于序列a1,a2,…,an和序列bl,b2,…,bm,如果存在一组下标1≤i1<i2<…<in≤m,使得aj=b(i,j)对一切1≤j≤n成立,那么a1,a2…,an就叫做b1,b2,…,bm的子列。

输入输出格式

输入格式:

 

输入文件仅一行,全部由‘(’,‘)’,‘]’,‘]’组成,没有其他字符,长度不超过100。

 

输出格式:

 

输出文件也仅有一行,全部由‘(’,‘)’,‘]’,‘]’组成,没有其他字符,把你找到的规则序列输出即可。因为规则序列可能不止一个,因此要求输出的规则序列中嵌套的层数尽可能地少。

 

输入输出样例

输入样例#1:
([()
输出样例#1:
()[]()

说明

输出解释:

{最多的嵌套层数为1,如层数为2时的一种为()[()]}

jsoi2011

 

/*69分 维护栈*/#include
#include
#include
using namespace std;const int MAXN=120;const int INF=0x7fffffff;int f[MAXN][MAXN],a[MAXN][MAXN];char s[MAXN];int n;void aaaa(int x,int y){ if (x>y) return; if (x==y) { if (s[x]=='('||s[x]==')') printf("()"); else printf("[]"); } else { if (a[x][y]==-1) { if(s[x]=='(') { printf("("); aaaa(x+1,y-1); printf(")"); } else { printf("["); aaaa(x+1,y-1); printf("]"); } } else { aaaa(x,a[x][y]); aaaa(a[x][y]+1,y); } } } int main(){ // gets(s); scanf("%s",&s); n=strlen(s); memset(f,0,sizeof(f)); for (int i=n;i>0;i--) { s[i]=s[i-1]; f[i][i]=1; } int tot; for (int p=1;p<=n;p++) { for (int i=1;i<=n-p;i++) { int j=i+p; f[i][j]=INF; if ((s[i]=='('&&s[j]==')')||(s[i]=='['&&s[j]==']')) { tot=f[i+1][j-1]; if (f[i][j]>tot) f[i][j]=tot; } a[i][j]=-1; for (int k=i;k
tot) { f[i][j]=tot; a[i][j]=k; } } } } aaaa(1,n); return 0;}

 

转载于:https://www.cnblogs.com/xiaoqi7/p/5878894.html

你可能感兴趣的文章
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
python常用函数
查看>>
FastDFS使用
查看>>
服务器解析请求的基本原理
查看>>
[HDU3683 Gomoku]
查看>>
【工具相关】iOS-Reveal的使用
查看>>
数据库3
查看>>
存储分类
查看>>
下一代操作系统与软件
查看>>
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Yii2 Lesson - 03 Forms in Yii
查看>>
Python IO模型
查看>>
Ugly Windows
查看>>
DataGridView的行的字体颜色变化
查看>>
Java再学习——关于ConcurrentHashMap
查看>>