ZOJ 1005 Jugs
时间:2014-02-27 04:59:24
收藏:0
阅读:527
题目大意:有一大一小两个杯子,相互倒水,直到其中一个杯子里剩下特定体积的水。描述这个过程。
解法:因为两个杯子的容积互质,所以只要用小杯子不断往大杯子倒水,大杯子灌满后就清空,大杯子里迟早会出现需要的体积的水。不过也有可能小杯子先剩下符合要求的体积的水。
参考代码:
#include<iostream> using namespace std; int main(){ int ca,cb,n,q,r,i; int a,b; while(cin>>ca>>cb>>n){ a=0; b=0; while(1){ if(a==0){ a=ca; cout<<"fill A"<<endl; } if(a+b>cb){ a=a+b-cb; b=cb; cout<<"pour A B"<<endl; } else{ b=a+b; a=0; cout<<"pour A B"<<endl; } if(b==n){ cout<<"success"<<endl; break; } if(b==cb){ b=0; cout<<"empty B"<<endl; } } } return 0; }
原文:http://www.cnblogs.com/naive/p/3568709.html
评论(0)