zoukankan      html  css  js  c++  java
  • Codeforces Beta Round #9 (Div. 2 Only) C. Hexadecimal's Numbers dfs

    C. Hexadecimal's Numbers

    题目连接:

    http://www.codeforces.com/contest/9/problem/C

    Description

    One beautiful July morning a terrible thing happened in Mainframe: a mean virus Megabyte somehow got access to the memory of his not less mean sister Hexadecimal. He loaded there a huge amount of n different natural numbers from 1 to n to obtain total control over her energy.

    But his plan failed. The reason for this was very simple: Hexadecimal didn't perceive any information, apart from numbers written in binary format. This means that if a number in a decimal representation contained characters apart from 0 and 1, it was not stored in the memory. Now Megabyte wants to know, how many numbers were loaded successfully.

    Input

    Input data contains the only number n (1 ≤ n ≤ 109).

    Output

    Output the only number — answer to the problem.

    Sample Input

    10

    Sample Output

    2

    Hint

    题意

    问你小于等于n的数里面,有多少个只由0和1组成的

    题解:

    感觉上没多少个数嘛,那就直接dfs就好了啦

    代码

    #include<bits/stdc++.h>
    using namespace std;
    long long n;
    map<int,int> vis;
    long long ans = 0;
    void dfs(long long x)
    {
        if(x>n)return;
        if(vis[x])return;
        vis[x]=1;
        ans++;
        dfs(x*10);
        dfs(x*10+1);
    }
    int main()
    {
        cin>>n;
        dfs(1);
        cout<<ans<<endl;
    }
  • 相关阅读:
    赔了多少钱
    datatables使用
    Django开发汇总
    STF的DOCKER搭建
    ubuntu基本
    python 列表、元组、字典、字符串
    Appium环境搭建
    AppCrawler环境搭建
    TASK 总结
    python & jira
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5414158.html
Copyright © 2011-2022 走看看