这里b2的值是怎么计算的呀,返回引用在这里有什么影响啊,修改以后为什么就错了呢没看懂这里的返回引用
#include<iostream>
#include<stack>
using namespace std;
stack<char>zhan;
long long ans;
long long b;
string a;
void solve()
{
cin>>a;
for(int i=0;i<a.size();i++)
{
if(!zhan.empty()&&a[i]==zhan.top())
{
ans+=10;
b++;
zhan.pop();
//cout<<ans<<" "<<b<<endl;
}
else
zhan.push(a[i]);
}
//cout<<a.size()<<endl;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
solve();
if(b*2==a.size())
{
cout<<ans;
}
else
{
cout<<ans+(a.size()/2-b)*5;
}
}