题目是两个水罐灌来灌去,开始半天不得要领,最后仔细看了看发现题目弱得很,不需要求解最优解,而且已经明确告诉你此题必定有解,所以不停循环就行了。
如果是最优解的话,暂时没想出来,有人看到也能提点一下。
#include <iostream>
using namespace std;
int main()
{
int juga,jugb,n,t;
while(cin>>juga>>jugb>>n)
{
if(jugb == n)
{
cout<<"fill B"<<endl;
cout<<"success"<<endl;
continue;
}
if(juga == n)
{
cout<<"fill A"<<endl;
cout<<"pour A B"<<endl;
cout<<"success"<<endl;
continue;
}
t = 0;
while(t != n)
{
cout<<"fill A"<<endl<<"pour A B"<<endl;
t += juga;
if(t > jugb)
{
t -= jugb;
cout<<"empty B"<<endl<<"pour A B"<<endl;
}
}
cout<<"success"<<endl;
}
}