社区讨论
WA on #10 ,玄关
P1322logo语言参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhjdovnr
- 此快照首次捕获于
- 2025/11/04 00:52 4 个月前
- 此快照最后确认于
- 2025/11/04 00:52 4 个月前
CPP
#include <iostream>
using namespace std;
typedef long long LL;
LL work(string str)
{
int i=0;
for(i;str[i]==' ';i++);
str=str.substr(i);
int k=str.find(' ');
string s1=str.substr(0,k),s2=str.substr(k+1);
if(s1=="REPEAT")
{
int j;
for(j=0;j<s2.size()&&s2[j]!='[';j++);
string s0=s2.substr(0,j);
int k2;
for(k2=s2.size()-1;k2>j&&s2[k2]!=']';k2--);
string s3=s2.substr(j+1,k2-j-1);
int bei=1;
if(s0.size()) bei=stoi(s0);
//cout << bei ;
string s4=s2.substr(k2+1);
//cout << s3 << endl << s4 << endl;
if(s4.size())
return bei*work(s3)+work(s4.substr(1));
else return bei*work(s3);
}
else if(s1=="FD")
{
int k2=s2.find(' ');
if(k2==-1) k2=s2.size();
//cout << k2;
string s3=s2.substr(0,k2);
LL bei=0;
if(s3.size()) bei=stoi(s3);
if(k2<s2.size())
return bei+work(s2.substr(k2+1));
else return bei;
}
else if(s1=="BK")
{
int k2=s2.find(' ');
if(k2==-1) k2=s2.size();
//cout << k2;
string s3=s2.substr(0,k2);
LL bei=0;
if(s3.size()) bei=stoi(s3);
if(k2<s2.size())
return -1*bei+work(s2.substr(k2+1));
else return -1*bei;
}
else
{
//puts("ER");
//cout << s1;
return 0;
}
return 0;
//cout << s1;
}
int main()
{
string str;
getline(cin,str);
LL a=work(str);
a=abs(a);
cout << a;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...