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写出来两题  虽然还是掉分了 主要还是读题的锅...我的渣渣英语啊

  • 相关阅读:
    华东交通大学2017年ACM双基程序设计大赛题解
    hdu2010(dfs+剪枝)
    欧拉函数phic以及超大数的快速幂
    想了一天的题目QAQ 毛线数列的最值
    记一下STL的一个题
    hdu1877进制转换
    hdu1002大数相加
    hdu1576逆元的一道水题
    Courses
    CodeForce-813B The Golden Age(数学+枚举)
  • 原文地址:https://www.cnblogs.com/Draymonder/p/7262106.html
Copyright © 2011-2022 走看看