1st:珍贵的OLE
#include<bits/stdc++.h>
using namespace std;
int n,m;
string s,t;
int main(){
scanf("%d%d",&n,&m);
cin>>s>>t;
for(int i=0; i<m; i++){
if(t[i]=='*'&&s!="0"){
s+='0';
n++;
}
if(t[i]=='/'&&s!="0"){
if(s=="1"){
s="0";
continue;
}
n--;
s=s.substr(0,n);
}
if(t[i]=='+'){
int k=n-1;
s[k]+=1;
while(s[k]!='2'){
s[k]='0';
s[--k]+=1;
}
}
if(t[i]=='-'){
int k=n-1;
while(s[k]=='0') k--;
s[k]='0';
for(int j=k+1; j<n; j++)
s[j]='1';
}
cout<<s<<'\n';
}
return 0;
}
2nd:求助的地方
#include<bits/stdc++.h>
using namespace std;
int n,m;
string s,t;
int main(){
scanf("%d%d",&n,&m);
cin>>s>>t;
for(int i=0; i<m; i++){
if(t[i]=='*'&&s!="0"){
s+='0';
n++;
}
if(t[i]=='/'&&s!="0"){
if(s=="1"){
s="0";
continue;
}
n--;
s=s.substr(0,n);
}
if(t[i]=='+'){
int k=n-1;
s[k]+=1;
while(s[k]!='2'){
s[k]='0';
s[--k]+=1;
}
}
if(t[i]=='-'){
int k=n-1;
while(s[k]=='0') k--;
s[k]='0';
for(int j=k+1; j<n; j++)
s[j]='1';
}
}
cout<<s<<'\n';
return 0;
}
1st是调试时造成的,2nd呢?求助