数 据 过 水

P1241 括号序列

MegaMay @ 2020-07-24 13:31:05

这是一道绿题,一道90%H2O的绿题,但绿题终究是绿题,一定比红题难

随便一写,样例一过,交

奇迹发生了:63分

加入代码公开的人都很清楚,若昧着良心单纯刷AC率的话,做60分就行了难道这将是我的第一道AC的绿题吗!

(kkksc3:你可以试试)

啊~,显然是不行了~,我的良心怎么会做这种事呢~

所以该题还没过

不过随便写的居然63! 建议加强数据

#include<iostream>
using namespace std;
string s;
int len,n1[101],n2[101],n3[101],n4[101];
char a[220];
int main(){
    cin>>s;
    for(int i=0;i<s.size();i++){
        if((s[i]=='('&&s[i+1]!=')')||(s[i]==')'&&s[i-1]!='(')) a[++len]='(',a[++len]=')';
        if((s[i]=='['&&s[i+1]!=']')||(s[i]==']'&&s[i-1]!='[')) a[++len]='[',a[++len]=']';
    }
    for(int i=1;i<=len;i++) cout<<a[i];
    return 0;
}

([(])  //输入 

()[]()[]() // 输出 PS:我写了个什么… 

([()]) // 正确输出 

by Cry_For_theMoon @ 2020-08-12 18:38:43

数据确实有些水,如果考点在栈上的话我觉得确实可以加强数据。

我用栈做的,第一次我判断栈顶是不是与右括号对应,我nc,把直接用栈顶元素代表的那个下标去比较了,没想到还有55分。

第二次我交了以后是77分,我扫了一下代码,发现是最后处理剩下的括号,我if里只写了等于'(',把等于')'的情况输出了'[]',结果也77分了。

这两个问题都是关键错误,但是却能拿到一半的分数。不管该题想考察 DP 还是栈,我觉得至少加到 1000 都没问题吧。

望管理员加强/kk


上一页 |