無腦博士有三個容量分別是 a,b,ca,
b,c 公升的試管,a,b,ca,
b,c 分別是三個從 1
1 到 2020
的整數,最初,a
a 和 b
b 試管都是空的,而 c
c 試管是裝滿硫酸銅溶液的。有時,無腦博士把硫酸銅溶液從乙個試管倒到另乙個試管中,直到被灌試管裝滿或原試管空了。當然每一次灌注都是完全的。由於無腦博士天天這麼折騰,早已熟練,溶液在倒的過程中不會有丟失。
寫乙個程式去幫助無腦博士找出當 a
a 試管是空的時候,c
c 試管中硫酸銅溶液所剩量的所有可能性。
輸入包括一行,為空格分隔開的三個數,分別為整數 a,b,ca,
b,c。
輸出包括一行,公升序地列出當 a
a 試管是空的時候,c
c 試管溶液所剩量的所有可能性。
樣例輸入
2 5 10
樣例輸出
5 6 7 8 9 10
//易錯點,首先0也是一種狀態,然後就是不能在最後多加個一空格
#include#includeusing namespace std;
int vis[22][22][22],q[70],a,b,c;
void dfs(int aa,int bb,int cc)
if(aa&&ccc
int t;
if(c-cc>=aa)
t=aa;
else t=c-cc;
dfs(aa-t,bb,cc+t);
} if(bb&&aaa
int t;
if(a-aa>=bb)
t=bb;
else t=a-aa;
dfs(aa+t,bb-t,cc);
} if(bb&&ccc
int t;
if(c-cc>=bb)
t=bb;
else t=c-cc;
dfs(aa,bb-t,cc+t);
} if(cc&&aaa
int t;
if(a-aa>=cc)
t=cc;
else t=a-aa;
dfs(aa+t,bb,cc-t);
} if(cc&&bbb
int t;
if(b-bb>=cc)
t=cc;
else t=b-bb;
dfs(aa,bb+t,cc-t);
} }}int main()
cout
}
無腦博士的試管們
無腦博士有三個容量分別是a,b,c公升的試管,a,b,c分別是三個從1到20的整數,最初,a和b試管都是空的,而c試管是裝滿硫酸銅溶液的。有時,無腦博士把硫酸銅溶液從乙個試管倒到另乙個試管中,直到被灌試管裝滿或原試管空了。當然每一次灌注都是完全的。由於無腦博士天天這麼折騰,早已熟練,溶液在倒的過程中...
無腦博士的試管們 dfs搜素
無腦博士有三個容量分別是a,b,c公升的試管,a,b,c分別是三個從1到20的整數,最初,a和b試管都是空的,而c試管是裝滿硫酸銅溶液的。有時,無腦博士把硫酸銅溶液從乙個試管倒到另乙個試管中,直到被灌試管裝滿或原試管空了。當然每一次灌注都是完全的。由於無腦博士天天這麼折騰,早已熟練,溶液在倒的過程中...
計蒜客 無腦博士的試管們
傳送門 時間限制1000ms 記憶體限制65536k 無腦博士有三個容量分別是 a,b,c 公升的試管,a,b,c 分別是三個從 1 到 20 的整數,最初,a 和 b 試管都是空的,而 c 試管是裝滿硫酸銅溶液的。有時,無腦博士把硫酸銅溶液從乙個試管倒到另乙個試管中,直到被灌試管裝滿或原試管空了。...