码迷,mamicode.com
首页 > 其他好文 > 详细

C. Hexadecimal's Numbers

时间:2019-08-16 20:29:24      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:pre   com   bsp   scanf   lld   ble   define   ios   ret   

题目链接:http://codeforces.com/problemset/problem/9/C

 

题意:

输入n,输出1-n的自然数中各数位只包含0和1的数的个数。

 

思路:

不难知道1,10,11,100 这种是满足要求的。那么如何去求呢?

直接根据1,去找10,11

再根据10,去找100,101

再根据11,去找110,111

 

啊!好水的 dfs 为什么我当时就没有想到。。

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <algorithm>
 4 #include <cstring>
 5 #include <math.h>
 6 #include <set>
 7 #include <vector>
 8 #include <stack>
 9 
10 #define LL long long
11 using namespace std;
12 const int maxn= 1e5 + 10;
13 
14 LL n;
15 
16 LL cnt = 0;
17 void dfs(LL x){
18     if (x>n)
19         return ;
20     cnt++;
21     dfs(x*10);
22     dfs(x*10+1);
23 }
24 
25 
26 int main(){
27     scanf("%lld",&n);
28     dfs(1);
29     printf("%lld\n",cnt);
30     return 0;
31 }

 

C. Hexadecimal's Numbers

标签:pre   com   bsp   scanf   lld   ble   define   ios   ret   

原文地址:https://www.cnblogs.com/-Ackerman/p/11366041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!