| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
话说没有人和我一样觉得这是一个数论的问题么?这是泊松倒酒问题的一种吧?本弱菜YY了一套倒酒的方法,能AC,但是目前不能证明,sad。。。
1.首先小酒瓶为空的时候倒满。
2.大酒瓶满的时候倒空,再把小酒瓶中的酒倒入大酒瓶。
3.大酒瓶不满,小酒瓶不空的时候,分两种情况讨论:
(1)小酒瓶的酒全倒入大酒瓶不会溢出,则将其全部倒入大酒瓶
(2)小酒瓶的酒全倒入大酒瓶会溢出,则倒入一部分至大酒瓶,使其恰好装满。
对于以上三种情况对应输出题目要求的内容,直至达到目标输出success。
代码如下:
#include<iostream>
using namespace std;
int main()
{
int i,j,k,a,b,c;
while(cin>>a>>b>>c)
{
i=j=k=0;
while(j!=c)
{
if(j==b)
{
j=0;
cout<<"empty B"<<endl;
j+=i;
cout<<"pour A B"<<endl;
i=0;
continue;
}
if(i==0)
{
i=a;
cout<<"fill A"<<endl;
continue;
}
if(j!=c)
{
if(j+i>b)
{
k=b-j;
i-=k;
j+=k;
}
else
{
j+=i;
i=0;
}
cout<<"pour A B"<<endl;
continue;
}
}
cout<<"success"<<endl;
}
return 0;
}
如果哪位神犇能证明之,不胜感激+膜拜,顺便求加我qq:970445054
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator