题目
原题链接:B. Tavas and SaDDas
题意
问只由4或者7组成不大于n的数字有几个。开始部分遍历超时,后参考其他作者思路,使用dfs。
代码
#include
using namespace std;
int ans=0;
long long n;
void dfs(long long m){
if(m>n) return ;
if(m<=n) ans++;
dfs(m*10+4);
dfs(m*10+7);
}
int main() {
scanf("%lld",&n);
dfs(4);
dfs(7);
printf("%d\n",ans);
return 0;
}