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;
    }
  • 相关阅读:
    MySQL 修改数据
    Scala 简介
    tensorflow mnist read_data_sets fails
    Mac安装Homebrew
    MySQL 创建数据表
    MySQL 数据类型
    wc--Linux
    xxx is not in the sudoers file.This incident will be reported.的解决方法
    linux centos下安装dokuwiki
    CentOS修改系统时间
  • 原文地址:https://www.cnblogs.com/zhurb/p/5875304.html
Copyright © 2011-2022 走看看