zoukankan      html  css  js  c++  java
  • Luogu [P3951] 小凯的疑惑

    题目详见:【P3951】小凯的疑惑

    首先说明:此题为一道提高组的题。但其实代码并没有提高组的水平。主要考的是我们的推断能力,以及看到题后的分析能力。

    分析如下:

    证明当k>ab-a-b时,小凯可以准确支付这个物品。

    显然,可以列出一个不定方程ma+nb=k,(m n,为未知数)由于m,n是金币个数,所以m>-1,n>-1,

    这个不定方程的通解为m=m0+bt,n=n0-at,(仅仅为写法的一种,不过这样写最方便,m0,n0为方程的一组解),

    m0+bt>-1,n0-at>-1,化简后有-(m0+1)/b<t<(n0+1)/a,

    显然(n0+1)/a-(-(m0+1)/b)=(n0+1)/a+(m0+1)/b=(bn0+b+a+am0)/ab,

    又因为bn0+am0=k.所以原式等于(k+a+b)/ab,显然k+a+b>ab,所以原式大于1,所以区间(-(m0+1)/b,(n0+1)/a,)中必有一个整数,t一定存在,所以命题成立。

    又可证明当k=ab-a-b时小凯无法支付(大家可以去参考题解,我就不啰嗦了),

    所以ab-a-b就是不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。 ——摘自luogu

    #include<iostream>
    using namespace std;
    int main()
    {
        long long a,b;
        cin>>a>>b;
        cout<<a*b-a-b;    
        return 0;
    }
  • 相关阅读:
    Tjoi 2017 异或和
    Noi 十连测 建造记者站
    Noi 十连测 基因改造计划
    Noi 十连测 人生的经验
    NOI 十连测 Round 5 T2 运河计划
    NOI 十连测 Round 5 T1
    【ZJOI2018】迷宫
    BZOJ 十连测 day5 T3
    BZOJ 十连测 可持久化字符串
    BZOJ 十连测 二进制的世界
  • 原文地址:https://www.cnblogs.com/qiuchengrui/p/8504743.html
Copyright © 2011-2022 走看看