#include<bits/stdc++.h>
using namespace std;
string s;
string a;
int ans=0;
bool check()
{
for(int i=0;i<s.size();i++)
{
if(s[i]-'0'<a[i]-'0')
return true;
if(s[i]-'0'>a[i]-'0')
return false;
}
return true;
}
void dfs(int pos)
{
if(pos==a.size())
{
if(!check())
return ;
int num=0,flag=0;
for(int i=0;i<s.size();i++)
{
if(s[i]=='1')
num++;
else
num=0;
if(num>=3)
flag=1;
}
if(flag)
ans++;
return ;
}
s+='1';
dfs(pos+1);
s.erase(s.end()-1);
s+='0';
dfs(pos+1);
s.erase(s.end()-1);
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>a;
dfs(0);
cout<<ans;
}
// 逃不过 相忘江湖之间
// 忘不了 惊鸿一眼
// 独自卷帘 望寒星几点
// 躲不了 岁月催老少年
// 寻不到 爱恨缠绵
// 既然无缘 寻一场好眠
//
一道难题(dfs)
最新推荐文章于 2024-07-25 23:26:35 发布