zoukankan      html  css  js  c++  java
  • Codeforces Round #426 (Div. 2) C. The Meaningless Game

    C. The Meaningless Game

    题意:

      两个人刚刚开始游戏的时候的分数, 都是一分, 然后随机一个人的分数扩大k倍,另一个扩大k的平方倍, 问给你一组最后得分,问能不能通过游戏得到这样一组得分。(谁扩大k倍, 谁扩大k的平方倍,是可以自由选择的, k的值只要是自然数就行了)。 
    思路:

       对输入的两个数a, b。求(a*b) 的1/3次方, 如果不能得到,就是不能得的输出“No”。否则在看开方得到的数,能不能同时被a和b整除, 如果可以就输出“Yes”,否则就是“No”。

      本题因为AB卡题了很久,没读懂题,GG所以没怎么写C,早上补一下

    用pow函数求 1/3 次方   round是四舍五入

    #include <bits/stdc++.h>
    using namespace std;
    const int mod = 1e9 + 7;
    const int maxn = 10000 + 5;
    const int INF = 0x3f3f3f3f;
    typedef long long ll;
    int n;
    
    void solve (ll a ,ll b)
    {
        ll c = round( pow(a*b,1.0/3) );
       // printf("%d
    ",c);
        if (a%c || b%c || c*c*c != a*b)
            printf("No
    ");
        else
            printf("Yes
    ");
    }
    int main()
    {
        scanf("%d",&n);
        for(int i=0;i < n;i++){
            ll a,b;
            scanf("%lld %lld",&a,&b);
          //  printf("%lld %lld
    ",a,b);
            solve(a,b);
        }
        return 0;
    }
    用pow函数写

    二分的话  左边界是1,右边界是 max(a*b) ^(1/3) 大概做多就是 1e6 再多加2卡一下

    #include <bits/stdc++.h>
    using namespace std;
    const int mod = 1e9 + 7;
    const int maxn = 10000 + 5;
    const int INF = 0x3f3f3f3f;
    typedef long long ll;
    int n;
    
    int main()
    {
        scanf("%d",&n);
        while (n--)
        {
            ll a,b;
            scanf("%lld %lld",&a,&b);
            ll le=1,ri= (int)1e6+2;
            //printf("%lld %lld
    ",le,ri);
            ll ans = 0;
            while (le <= ri)
            {
                ll mid = (le+ri)/2;
                if(mid * mid * mid >= a*b)
                    ans = mid,ri=mid-1;
                else
                    le = mid+1;
            }
            if(ans*ans*ans == a*b && a%ans ==0&& b%ans==0)
                puts("Yes");
            else
                puts("No");
    
        }
        return 0;
    }
    二分写法

    第一次codeforces写出来两题  虽然还是掉分了 主要还是读题的锅...我的渣渣英语啊

  • 相关阅读:
    PHP设计模式
    PHP设计模式
    PHP 23种设计模式
    MySQL 中的共享锁和排他锁的用法
    PHP_MySQL高并发加锁事务处理
    Connection: close和Connection: keep-alive有什么区别
    罗辑思维首席架构师:Go微服务改造实践
    真诚与尊重是技术团队的管理要点
    10种常见的软件架构模式
    百亿级微信红包的高并发资金交易系统设计方案
  • 原文地址:https://www.cnblogs.com/Draymonder/p/7262106.html
Copyright © 2011-2022 走看看