给定一个仅由数字'1'到'9'组成的字符串S,可以在任意合法的位置放入任意个'+'号 (也可不放)
求所有方案的总和,结果对1e9+7取模
1≤∣S∣≤100000
#include<bits/stdc++.h>
using namespace std;
string st;
int sum,t1,t2;
int main()
{
int mod=1e9+7;
cin>>st;
for (int i=1;i<=st.size()-1;i++)//+号个数
for (int j=0;j<=st.size()-1;j++)//当前字符串位置
{
t1=t2=0;
for (int k=0;k<=j;k++) t1=t1*10+int(st[k]);
for (int k=j+1;k<=st.size()-1;k++) t2=t2*10+int(st[k]);
sum=sum+(t1+t2)%mod;
//cout<<t1<<' '<<t2<<endl;
}
cout<<sum;
}
求问大佬该咋做