zoukankan      html  css  js  c++  java
  • ZJU_1005

    这是一道模拟题

    #include<stdio.h>
    #include<iostream>
    using namespace std;
    int main()
    {
        int ca,cb,n;
        while(cin>>ca>>cb>>n)//ca,cb,n分别表示a水壶的容量,b的容量和要求的量n
        {
            int bnow;//b水壶现在的容量
            int b=0; 一开始b中的水为0,(即b是空壶)
            while(b!=n)//只要b水壶不溢出,就让A水壶一直灌b水壶,水溢出的时候,b==0
            {
                for(int i=0;i<=(cb-b)/ca;i++)//将a中的水向b倒,直至b满或是b==n
                {
                    cout<<"fill A"<<endl;
                    cout<<"pour A B"<<endl;
                    bnow = b+ca*(i+1);//没灌进一次a水壶的容量的水,b中的水量值
                    if(bnow==n)如果在某一次后,b中的==n
                    {
                        break;//不再灌
                    }
    
                }
                if(bnow==n)
                {
                    break;
                }
                cout<<"empty B"<<endl;//如果b已经被灌满了,但还是!=n,那么将b中的水全部倒掉
                int a;
                a=ca-(cb-b)%ca;//a中剩余的水量
                cout<<"pour A B"<<endl;
                b=a;//将b清空后,把a中剩余的水倒进b中
                if(b==n)
                {
                    break;
                }
            }
            cout<<"success"<<endl;
    
        }
    
    
        return 0;
    }
    

      本算法采用简化的方法,只是从A水壶向水壶B倒水,当b水壶满时就将b中的水倒掉,b成为空水壶,再从水壶A向b倒水,直到b水壶的水==n时.结束

  • 相关阅读:
    常见错误集锦
    auto 迭代器的使用
    案例:带有动画的返回顶部
    案例:toDoList
    jQuery事件
    案例:发布微博功能
    案例:购物车功能模块
    jQuery常用的API
    案例:王者荣耀手风琴效果
    案例:jQuery实现tab栏切换功能
  • 原文地址:https://www.cnblogs.com/41412179guo/p/4476443.html
Copyright © 2011-2022 走看看