zoukankan      html  css  js  c++  java
  • HDU_1495_模拟

    http://acm.split.hdu.edu.cn/showproblem.php?pid=1495

    自己用模拟写的,先除以三个数的最大公约数,弱可乐为奇数,则无解,然后开始模拟。

    利用大杯子和小杯子的差为偶数,可以制造出不同的数,最终得到结果。

    这题还可以用bfs暴力做,另外还可以用数论知识退出一个简单的结果,可怕= =

    详情:http://blog.csdn.net/v5zsq/article/details/52097459

    #include<iostream>
    #include<cstdio>
    using namespace std;
    
    int gcd(int a,int b)
    {
        return b?gcd(b,a%b):a;
    }
    int main()
    {
        int s,m,n;
        while(cin >> s >> n >> m && s && n && m)
        {
            int g = gcd(m,n);
            int a = s/g;
            if(a%2)
            {
                printf("NO
    ");
                continue;
            }
            int big = max(m,n)/g;
            int small = min(m,n)/g;
            int x = a-big,y = big,z = 0,num = 1;;
            while(y != a/2)
            {
                if(y > small)
                {
                    y -= small;
                    x += small;
                    num += 2;
                }
                else if(y < small)
                {
                    z = y;
                    x -= big;
                    y = big;
                    y -= small-z;
                    x += small;
                    z = 0;
                    num += 4;
                }
                else
                {
                    num = 0;
                    break;
                }
            }
            if(!num)    printf("NO");
            else
            {
                if(z)   printf("%d
    ",num+1);
                else    printf("%d
    ",num);
            }
        }
        return 0;
    }
  • 相关阅读:
    关于此主题 v1
    从博客园主题了解前端 CSS
    VS2019 许可证到期
    从博客园主题了解前端 HTML
    关于此主题
    从博客园主题了解前端 JS
    GCC 编译器
    Python的Set和List的性能比较 + 两者之间的转换
    wsgi初探(转)
    权限设计概要
  • 原文地址:https://www.cnblogs.com/zhurb/p/5875304.html
Copyright © 2011-2022 走看看