码迷,mamicode.com
首页 > 其他好文 > 详细

UVA 571 Jugs ADD18 小白书10 数学Part1 专题

时间:2015-10-04 12:26:01      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

 只能往一个方向倒,如c1=3,c2=5,a b从0 0->0 5->3 2->0 2->2 0->2 5->3 4->0 4->3 1->0 1->1 5->3 3->0 3->0 0,又回到了0 0,而且倒着推回去正好是c1一直往c2倒,因为0*c2%c1->1*c2%c1->...->c1*c2%c1==0

技术分享
 1 #include <iostream>
 2 #include<cstdio>
 3 
 4 using namespace std;
 5 
 6 int a,b,n,c1,c2;
 7 
 8 void slove()
 9 {
10     puts("fill B");
11     if(c2==n)
12     {
13         puts("success");
14         return;
15     }
16     b=0;
17     while(1)//用b一直往a倒,在n!=a时b必定先达到n,若a往b倒时a达到n还要倒到b那
18     {
19         b+=c2;
20         while(b>c1)
21         {
22             puts("pour B A");
23             b-=c1;
24             if(b==n)
25             {
26                 puts("success");
27                 return ;
28             }
29             puts("empty A");
30         }
31         puts("pour B A");
32         puts("fill B");
33     }
34 }
35 
36 int main()
37 {
38     while(scanf("%d%d%d",&c1,&c2,&n)==3)
39     {
40         if(n==0||n>c2)
41         {
42             puts("success");
43             continue;
44         }
45         slove();
46     }
47     return 0;
48 }
View Code

 

UVA 571 Jugs ADD18 小白书10 数学Part1 专题

标签:

原文地址:http://www.cnblogs.com/cdyboke/p/4854372.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!