Luogu p1241 括号序列
这是一道与dp毫无半点关系的题
本来是去找
的题来着,结果并没有找到,然后看到了这道题。
(本来以为会是很好写的一道题结果因为题意不清直接原地去世了)
思路很简单,基本没有技术含量。
因为数据范围很小,我们可以直接进行暴搜;
定义bool 数组add表示第i个字符所对应的括号有没有被匹配,如果没有匹配需手动补全;
从左往右扫描,如果扫描到']'or')',从当前位置开始向左扫描,寻找配对括号,如果找到,将左右括号的add都置为1,break;
然后这么找大概就可以ac了叭?
#include<cstdio>
#include<cstring>
#include<algorithm>
#define mk make_pair
using namespace std;
char t[110];
bool add[110];
int main(){
scanf("%s",t+1);
int len=strlen(t+1);
for(int i=1;i<=len;i++){
if(t[i]==']'){
for(int j=i-1;j>=1;j--){
if(add[j]==0&&t[j]=='[') {
add[j]=add[i]=1;
break;
}
}
}
if(t[i]==')') {
for(int j=i-1;j>=1;j--) {
if(add[j]==0&&t[j]=='(') {
add[i]=add[j]=1;
break;
}
}
}
}
for(int i=1;i<=len;i++) if(!add[i]){
if(t[i]==')'||t[i]=='(') printf("()");
if(t[i]=='['||t[i]==']') printf("[]");
}else printf("%c",t[i]);
return 0;
}
但是
当我们交上去:

可以说是听取wa声一片了;
为什么呢?!
题面很毒瘤我们看不懂它wr;
现在好像可以意会了但并不能言传因此就假装没看懂叭(自己去悟
像是括号序列([)],在我方程序判断是合法的,而实际上是不合法的,需要补成()[()];
所以我们需要加上:
if(t[j]=='['&&add[j]==0) break;//t[i]==')';
if(t[j]=='('&&add[j]==0) break;//t[i]==']';
来判断被不同的括号横插一刀的情况
然后这样就可以ac了!?
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
char t[110];
bool add[110];
int main(){
scanf("%s",t+1);
int len=strlen(t+1);
for(int i=1;i<=len;i++){
if(t[i]==']'){
for(int j=i-1;j>=1;j--){
if(t[j]=='('&&add[j]==0) break;
if(add[j]==0&&t[j]=='[') {
add[j]=add[i]=1;
break;
}
}
}
if(t[i]==')') {
for(int j=i-1;j>=1;j--) {
if(add[j]==0&&t[j]=='[') break;
if(add[j]==0&&t[j]=='(') {
add[i]=add[j]=1;
break;
}
}
}
}
for(int i=1;i<=len;i++) if(!add[i]){
if(t[i]==')'||t[i]=='(') printf("()");
if(t[i]=='['||t[i]==']') printf("[]");
}else printf("%c",t[i]);
return 0;
}
end-
Luogu p1241 括号序列的更多相关文章
- 洛谷 P1241 括号序列
P1241 括号序列 题目描述 定义如下规则序列(字符串): 1.空序列是规则序列: 2.如果S是规则序列,那么(S)和[S]也是规则序列: 3.如果A和B都是规则序列,那么AB也是规则序列. 例如, ...
- P1241 括号序列
P1241 括号序列 题解 谁解释下标签递推是个什么鬼,应该是暴力 数据比较小直接跑暴力 但是注意题目描述 也就是说: [ ( ] ) 是不合法的 补全应该是 [ ] ( [ ] ) 举个栗子: 比如 ...
- 洛谷 P1241 括号序列(栈)
嗯... 题目链接:https://www.luogu.org/problem/P1241 首先这道题是栈的入门题的加强版, 不仅要你判断这个括号序列是否合法,还要你将这个序列补充完整... 一开始是 ...
- 上午小测3 T1 括号序列 && luogu P5658 [CSP/S 2019 D1T2] 括号树 题解
前 言: 一直很想写这道括号树..毕竟是在去年折磨了我4个小时的题.... 上午小测3 T1 括号序列 前言: 原来这题是个dp啊...这几天出了好几道dp,我都没看出来,我竟然折磨菜. 考试的时候先 ...
- BZOJ4350: 括号序列再战猪猪侠
Description 括号序列与猪猪侠又大战了起来. 众所周知,括号序列是一个只有(和)组成的序列,我们称一个括号 序列S合法,当且仅当: 1.( )是一个合法的括号序列. 2.若A是合法的括号序列 ...
- DP专题——括号序列
毕竟是个渣,写完一遍之后又按LRJ的写了一遍,再写了一遍递归版,最终加上输出解部分 括号序列 定义如下规则序列(字符串): 空序列是规则序列: 如果S是规则序列,那么(S)和[S]也是规则序列: 如果 ...
- 【BZOJ】2209: [Jsoi2011]括号序列(splay)
http://www.lydsy.com/JudgeOnline/problem.php?id=2209 splay又犯逗........upd1那里的sum忘记赋值反............. 本题 ...
- 51nod1476 括号序列的最小代价
这题应该可以用费用流写吧?不过我想不出贪心来TAT.其实还是单调队列乱搞啊T_T //ÍøÉϵÄ̰ÐÄËã·¨ºÃÉñ°¡¡£¡£¡£ÎÒÖ»»áÓÃ×îС·ÑÓÃ×î´óÁ÷ÅÜTAT #in ...
- lintcode: 有效的括号序列
题目: 有效的括号序列 给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and']', 判定是否是有效的括号序列. 样例 括号必须依照 "() ...
随机推荐
- #python#return和print的一些理解
https://www.jianshu.com/p/18a6c0c76438 代码 (1) ++++++++++++++++++++++++++++++++++ x = 1y = 2def add ( ...
- kafka消费者示范代码(Java)
1.将kafka里lib目录下(除jar包外还有别的东西)所有的jar包导入工程中. 2.代码 public static void main(String[] args) { //声明连接属性 Pr ...
- 【leetcode】1186. Maximum Subarray Sum with One Deletion
题目如下: Given an array of integers, return the maximum sum for a non-empty subarray (contiguous elemen ...
- aircrack-wifi密码破解
暴力破解wifi密码尝试 打开网卡监听模式 监听设置结果 扫描wifi 打开网卡监听模式 打开终端,用 airmon-ng 命令查看 root@kali:~/capture# airmon-ng PH ...
- firebird默认字符在lazarus下乱码问题
firebird3数据表中,如果字段是varchar时, delphiXE的firedac在读取时正常,但lazarus中读取时会显示乱码. 经过测试发现,如果lazarus显示正常的话,必须在建表时 ...
- 分组统计 over(partition by
sum( CASE WHEN ISNULL(b.zl, 0) = 0 THEN C.LLZL ELSE b.zl END * c.pccd * b.sl) over(partition by b.dj ...
- Linux 查看内存(free)、释放内存(基本操作)
原文链接:http://blog.51cto.com/11495268/2384147 1.简介 1.1 介绍 很多时候,服务器 负载 很高(执行操作 很慢),很多 原因 造成 这种 现象(内存不足 ...
- [CSP-S模拟测试]:格式化(贪心)
题目传送门(内部题105) 输入格式 每组数据第一行一个正整数$n$,表示硬盘块数,接下来$n$行,每行两个正整数,第一个正整数为硬盘格式化前的容量,第二个正整数为格式化之后的容量. 输出格式 对每组 ...
- Java并发编程的艺术笔记(一)——volatile和syncronized关键字
一.线程间的通信 volatile和syncronized关键字 volatile 修饰变量,告知任何对该变量的访问必须从共享内存获取,对它的改变必须同步刷新至共享内存,由此保证可见性. syncro ...
- Js自定义数组map之bigmap
/** * like map,but prev,curr,next and index will be given * @param {Function} cb Callback,the parame ...