rt,今天在打这个题的时候没打完,脑抽了想交一下,结果CE,请问为什么在本地和洛谷IDE的编译结果不一样。
#include <bits/stdc++.h>
#define itn int
using namespace std;
struct type
{
//数据区
//小括号
stack <int> parentheses;
vector <int> need_of_little;
vector <bool> kind_of_little;
int size_of_little=0;
int size_of_parentheses=0;
int num_of_little;
int okey__little_right=0;
//中括号
stack <int> brackets;
vector <int> need_of_mid;
vector <bool> kind_of_mid;
int size_of_mid=0;
int size_of_brackets=0;
int num_of_mid;
int okey__mid_right=0;
//data
char in[105];
//函数区
inline void space()//初始化//
{
need_of_little.push_back(114514);
need_of_mid.push_back(1919180);
for(int i=1;i<=103;i++)
{
in[i]=' ';
}
}
inline int len()//设置长度//
{
int lens=0;
for(int i=1;i<=101;i++)
{
if(in[i]=='(' || in[i]==')' || in[i]=='[' || in[i]==']')
{
lens++;
}else{
return lens;
}
}
}
} data;
void little_copy();
void mid_copy();
void little(int size)//审查小括号
{
for(int i=1;i<=size;i++)
{
if(data.in[i]=='(')//是左括号
{
data.parentheses.push(i);
data.size_of_parentheses++;
} else{
if(data.size_of_parentheses)
{
data.parentheses.pop();
data.size_of_parentheses--;
}else{
data.need_of_little.push_back(i);
data.kind_of_little.push_back(0);
data.size_of_parentheses++;
data.okey__little_right++;
}
}
}
little_copy();
}
void mid(int size)//审查中括号
{
for(int i=1;i<=size;i++)
{
if(data.in[i]=='[')//是左括号
{
data.brackets.push(i);
data.size_of_brackets++;
} else{
if(data.size_of_brackets)
{
data.brackets.pop();
data.size_of_brackets--;
}else{
data.need_of_mid.push_back(i);
data.kind_of_mid.push_back(0);
data.size_of_brackets++;
data.okey__mid_right++;
}
}
}
mid_copy();
}
void little_copy()
{
if(data.okey__little_right)
{
goto yes;
}else{
goto next;
}
yes:
int temp_num[data.okey__little_right];
bool temp_kind[data.okey__little_right];
for(int i=1;i<=data.okey__little_right;i++)
{
temp_num[i]=data.need_of_little[i];
temp_kind[i]=data.kind_of_little[i];
}
goto have_next;
next:
for(int i=1;i<=data.size_of_parentheses;i++)
{
data.need_of_little.push_back(data.parentheses.top());
data.kind_of_little.push_back(1);
}
return;
have_next:
for(int i=1;i<=data.okey__little_right;i++)
{
data.need_of_little.push_back(temp_num[i]);
data.kind_of_little.push_back(0);
}
for(int i=1;i<=data.size_of_parentheses;i++)
{
data.need_of_little.push_back(data.parentheses.top());
data.kind_of_little.push_back(1);
}
return;
}
void mid_copy()
{
if(data.okey__mid_right)
{
goto yes;
}else{
goto next;
}
yes:
int temp_num[data.okey__mid_right];
bool temp_kind[data.okey__mid_right];
for(int i=1;i<=data.okey__mid_right;i++)
{
temp_num[i]=data.need_of_mid[i];
temp_kind[i]=data.kind_of_mid[i];
}
goto have_next;
next:
for(int i=1;i<=data.size_of_brackets;i++)
{
data.need_of_mid.push_back(data.brackets.top());
data.kind_of_mid.push_back(1);
}
return;
have_next:
for(int i=1;i<=data.okey__mid_right;i++)
{
data.need_of_mid.push_back(temp_num[i]);
data.kind_of_mid.push_back(0);
}
for(int i=1;i<=data.size_of_brackets;i++)
{
data.need_of_mid.push_back(data.brackets.top());
data.kind_of_mid.push_back(1);
}
return;
}
int main()
{
data.space();
cin>>(data.in+1);
int len=data.len();
if(len==0)
{
cout<<"";
return 0;
}
for(int i=1;i<=len;i++)
{
;
}
}