zoukankan      html  css  js  c++  java
  • I Count Two Three HDU

    为甚么16年Qingdao Online 都是暴力题emm///。。。

    先暴力预处理

    然后lower _bound二分

    #include <iostream>
    #include <cstdio>
    #include <sstream>
    #include <cstring>
    #include <map>
    #include <cctype>
    #include <set>
    #include <vector>
    #include <stack>
    #include <queue>
    #include <algorithm>
    #include <cmath>
    #define rap(i, a, n) for(int i=a; i<=n; i++)
    #define rep(i, a, n) for(int i=a; i<n; i++)
    #define lap(i, a, n) for(int i=n; i>=a; i--)
    #define lep(i, a, n) for(int i=n; i>a; i--)
    #define rd(a) scanf("%d", &a)
    #define rlld(a) scanf("%lld", &a)
    #define rc(a) scanf("%c", &a)
    #define rs(a) scanf("%s", a)
    #define MOD 2018
    #define LL long long
    #define ULL unsigned long long
    #define Pair pair<int, int>
    #define mem(a, b) memset(a, b, sizeof(a))
    #define _  ios_base::sync_with_stdio(0),cin.tie(0)
    //freopen("1.txt", "r", stdin);
    using namespace std;
    const int maxn = 10010, INF = 0x7fffffff;
    LL sum[maxn], cnt;
    
    LL inv(LL a, LL b)
    {
        LL res = 1;
        while(b)
        {
            if(b & 1) res = res * a;
            a = a * a;
            b >>= 1;
        }
        return res;
    }
    
    void init()
    {
        rep(i, 0, 30)
        {
            int f1 = 0;
            rep(j, 0, 30)
            {
                int f2 = 0;
                rep(k, 0, 30)
                {
                    int f3 = 0;
                    rep(m, 0, 30)
                    {
                        LL res = 1;
                        res *= inv(2, i);
                        if(res > 1e9)
                        {
                            f1 = 1;
                            break;
                        }
                        res *= inv(3, j);
                        if(res > 1e9)
                        {
                            f2 = 1;
                            break;
                        }
                        res *= inv(5, k);
                        if(res > 1e9)
                        {
                            f3 = 1;
                            break;
                        }
                        res *= inv(7, m);
                        if(res > 1e9)
                            break;
                        sum[cnt++] = res;
                    }
                    if(f3) break;
                }
                if(f2) break;
            }
            if(f1) break;
        }
    }
    
    int main()
    {
        cnt = 0;
        init();
        sort(sum, sum + maxn);
        int T;
        rd(T);
        while(T--)
        {
            LL n;
            rlld(n);
            int res = lower_bound(sum, sum + maxn, n) - sum;
            printf("%lld
    ", sum[res]);
        }
    
        return 0;
    }
    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    【JS】限制两个或多个单选框最多只能选择一个
    Markdown基本语法
    【thinkphp5】 分页样式修改
    Vscode 修改为中文语言
    【linux】Crontab 定时任务 使用实例
    【微信开发】 模板消息发送
    二维数组转化为字符串,中间用,隔开
    【golang】 go语言之环境搭建+ 第一个go语言程序
    【PHPstudy】安装Composer
    【LNMP】基于阿里云的https免费证书配置
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/9510051.html
Copyright © 2011-2022 走看看