首页 > 代码库 > ZOJ Problem Set - 1005
ZOJ Problem Set - 1005
注意,条件:B>=C 。应考虑B=C的情况。
#include<iostream> using namespace std; int A,B,C; void jugs(int a,int b,int C) { if(b==C) { cout<<"success"<<endl; } else if(b==B) { cout<<"empty B"<<endl; jugs(a,0,C); } else if(a==0) { cout<<"fill A"<<endl; cout<<"pour A B"<<endl; if(A+b>=B) { a=A-(B-b); cout<<"empty B"<<endl; jugs(a,0,C); } else { jugs(0,b+A,C); } } else { cout<<"pour A B"<<endl; if(a+b>=B) { a=A-(B-b); cout<<"empty B"<<endl; jugs(a,0,C); } else { jugs(0,a+b,C); } } return; } int main() { while(cin>>A>>B>>C) { if (A==C) { cout<<"fill A"<<endl; cout<<"success"<<endl; continue; } if (B==C) { cout<<"fill B"<<endl; cout<<"success"<<endl; continue; } jugs(0,0,C); } return 0; }
1.需找bug,参考:
http://www.cnblogs.com/phinecos/archive/2008/09/21/1295472.html
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。