传送门
感觉自己搜索能力退化了,这种弱智搜索写了整整5min,这样下去比赛会凉的。
看来得多练练题了。
代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll x,ans=0;
int n,num[15];
inline void dfs(int pos,ll sum){
if(pos==n+1){ans+=sum;return;}
ll tmp=0;
for(int i=pos;i<=n;++i)tmp=tmp*10+num[i],dfs(i+1,sum+tmp);
}
int main(){
cin>>x;
while(x)num[++n]=x%10,x/=10;
reverse(num+1,num+n+1);
dfs(1,0);
cout<<ans;
return 0;
}