BitComet 旗下网站

转到日志 acm of zju

zju1005

楼主 发表于:2008-06-12 18:58:38 [回复]

/*2008.6.12 18:44:56 Accepted 1005 C++ 00:00.00 832K 天将降大任于我
Jugs
这题有两种选择可以选,一种是fill A,empty B,pour A B;
另一种是fill B,empty A,pour B A;只要选一种做出来就行
每一种中只需要考虑各种情况的条件怎样就行
*/
#include<iostream>
using namespace std;
int main()
{
 int va,vb,n,a,b;
 while(scanf("%d%d%d",&va,&vb,&n)!=EOF)
 {    
  a=b=0;bool f=1;
  while(f){ 
   printf("fill A\n");
   a=va;
   if(a==n) {printf("success\n");break;}
   while(a>0)
   {
    if(vb-b>=a)
    {
     printf("pour A B\n");
     b+=a;a=0;
    }
    else
    {
     printf("pour A B\n");
     a=a-(vb-b);b=vb;
    }
    if(b==vb) {printf("empty B\n");b=0;}
    if(b==n) break;
               
   }
   if(a==n||b==n) {printf("success\n");f=0;}
  }
 }
 return 0;
}

心难泰,世风坏,旧时正气今何在?正义寡,人情薄,闻道虽多,茅塞不开。怪!怪!怪! 空等待,几多载,冲出重围人心快!暴雨打,狂风袭,任他折磨,此志难改。耐!耐!耐!

登录后发贴