Mother s Mil 母親的牛奶

2022-02-13 19:45:47 字數 1293 閱讀 1891

農民約翰有三個容量分別是a,b,c公升的桶,a,b,c分別是三個從1到20的整數,最初,a和b桶都是空的,而c桶是裝滿牛奶的。有時,約翰把牛奶從乙個桶倒到另乙個桶中,直到被灌桶裝滿或原桶空了。當然每一次灌注都是完全的。由於節約,牛奶不會有丟失。 寫乙個程式去幫助約翰找出當a桶是空的時候,c桶中牛奶所剩量的所有可能性。

單獨的一行包括三個整數a,b和c。

只有一行,列出當a桶是空的時候,c桶牛奶所剩量的所有可能性。

8 9 10
1 2 8 9 10

剛開始以為這道題是對所有情況進行分類,發現有幾個情況是很難直接找出來的,是乙個迴圈的過程。

後來聽大佬說這個題用dfs做,當時有些蒙,,,咋用dfs

靜下心來想一想,發現是有規律的,a桶只能到給b桶和c桶,b桶c桶同理。也就是說,用遞迴把所有可能的組合方式都跑一遍,找出其中滿足條件的c桶的容量。(感覺會t,會爆棧的呀)

對於固定的方式,可用dfs搜尋全部狀態。

1 #include2 #include3 #include4 #include

5 #include6 #include7 #include8 #include9 #include10 #include11 #include12

using

namespace

std;

13 typedef long

long

ll;14

const

double pi=acos(-1.0

);15

const

double e=exp(1

);16

const

int n = 200009;17

18int x,y,z,cnt=1;19

int check[22][22][22],ans[100000

];20

21bool cmp(int a,int

b)22

25void dfs(int a,int b,int

c)26

3435

if(a)

3646

if(c!=z)

4755}56

if(b)

5767

if(c!=z)

6876}77

if(c)

7888

if(b!=y)

8997}98

}99100int

main()

101

view code

Mother s Mil 母親的牛奶

農民約翰有三個容量分別是a,b,c公升的桶,a,b,c分別是三個從1到20的整數,最初,a和b桶都是空的,而c桶是裝滿牛奶的。有時,約翰把牛奶從乙個桶倒到另乙個桶中,直到被灌桶裝滿或原桶空了。當然每一次灌注都是完全的。由於節約,牛奶不會有丟失。寫乙個程式去幫助約翰找出當a桶是空的時候,c桶中牛奶所剩...

1 4 4 Mother s Mil 母親的牛奶

農民約翰有三個容量分別是a,b,c公升的桶,a,b,c分別是三個從1到20的整數,最初,a和b桶都是空的,而c桶是裝滿牛奶的。有時,約翰把牛奶從乙個桶倒到另乙個桶中,直到被灌桶裝滿或原桶空了。當然每一次灌注都是完全的。由於節約,牛奶不會有丟失。寫乙個程式去幫助約翰找出當a桶是空的時候,c桶中牛奶所剩...

母親的牛奶 Mother s Milk

題目描述 農民約翰有三個容量分別是a,b,c公升的桶,a,b,c分別是三個從1到20的整數,最初,a和b桶都是空的,而c桶是裝滿牛奶的。有時,農民把牛奶從乙個桶倒到另乙個桶中,直到被灌桶裝滿或原桶空了。當然每一次灌注都是完全的。由於節約,牛奶不會有丟失。寫乙個程式去幫助農民找出當a桶是空的時候,c桶...