战斗天使 @ 2020-04-19 13:15:02
我检查了好久好久,就是A不过,真的想骂人了,我眼中怀疑是测评机的问题
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int a[105];
int main()
{
int i,j;
string s;
cin>>s;
for(i=0;i<s.length();i++)
{
if(s[i]==')')
{
for( j=i-1;j>=0;j--)
{
if(s[j]=='(' and a[j]==0)
{
a[i]=a[j]=1;
break;
}
else if(s[j]=='[' and a[j]==0)
{
break;
}
}
}
else if(s[i]==']')
{
for( j=i-1;j>=0;j--)
{
if(s[j]=='[' and a[j]==0)
{
a[j]=a[i]=1;
break;
}
else if(s[j]=='(' and a[j]==0)
{
break;
}
}
}
}
for(i=0;i<=s.length()-1;i++)
{
if(a[i]==0) //如果没有标记
{
if(s[i]=='(' or s[i]==')')
{
cout<<"()";
}
else
{
cout<<"[]";
}
}
else
{
cout<<s[i];
}
}
return 0;
}
by 闪电皮卡丘 @ 2020-04-19 13:27:50
@van之风 出门右转,学习题解dalao的思路。努力搞懂就行了,没必要AC
by 战斗天使 @ 2020-04-19 13:38:52
@闪电皮卡丘 好的 谢谢!!已经AC,真的是洛谷的测评机问题 a[i]=a[j]=1换成a[j]=a[i]=1就可以了
by w6369499 @ 2020-05-06 15:12:40
我也遇到了92分的情况,找错误原因发现是要考虑到当输入未空的情况,就在第五个测试点的位置