zoukankan      html  css  js  c++  java
  • 1031 Hungar的得分问题(二)

    [题目传送门] http://acm.nbut.org/JudgeOnline/problem.php?id=1031

    [题意]

    从小到大排列只有 4 和 7存在的数,4 , 7 ,44 ,47 ........ 这样,然后给你一个数n,n保证只有4和7组成,问你这个数是第几个。

    看了一下HSS用了杨辉三角和进制转化,不禁先跪一下 Orz 。

    这题打表,弱弱的水过了,BFS的赶脚,我们做一个数组 a[] , a[0] = 4 , a[1] = 7;

    然后 对每一个 a[i] 进行操作 将 a[i] * 10 + 4 , a[i] * 10 + 7 放到数组后面。

    结果发现就是顺序呀~ 。 4 , 7 , 4 * 10 + 4 , 4 * 10 + 7 , 7 * 10 + 4 , 7 * 10 + 7 .........

    最后因为是递增的,所以二分一下。

    [代码]

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <vector>
     4  
     5 using namespace std;
     6  
     7 vector<long long> VV;
     8  
     9 void init()
    10 {
    11     VV.clear();
    12     VV.push_back(4); VV.push_back(7);
    13     for(int i = 0 ; i < VV.size() ; i++)
    14     {
    15         if(VV[i] > 1000000000) break;
    16         else {VV.push_back(VV[i] * 10 + 4); VV.push_back(VV[i] * 10 + 7);} 
    17     }
    18     return ;
    19 }
    20  
    21 int main()
    22 {
    23     init();
    24     int T;
    25     while(cin >> T) for(int i = 0 ; i < T ; i++)
    26     {
    27         long long n;
    28         cin >> n;
    29         int rank = lower_bound(VV.begin() , VV.end() , n) - VV.begin();
    30         cout << rank + 1 << endl;
    31     }
    32     return 0;
    33 }
  • 相关阅读:
    <转>ajax 同步异步问题
    Jquery中父,子页面之间元素获取及方法调用
    python基础知识
    python数据类型
    sed,awk
    zabbix 4.0版本
    Redis 5.0
    ansible
    MariaDB集群配置(主从和多主)
    读写分离
  • 原文地址:https://www.cnblogs.com/ticsmtc/p/5366301.html
Copyright © 2011-2022 走看看