無腦博士有三個容量分別是 a,b
,c公升的試管,a,b,ca,
b,c 分別是三個從
1 到 2
0 的整數,最初,a
和 b試管都是空的,而
c 試管是裝滿硫酸銅溶液的。有時,無腦博士把硫酸銅溶液從乙個試管倒到另乙個試管中,直到被灌試管裝滿或原試管空了。當然每一次灌注都是完全的。由於無腦博士天天這麼折騰,早已熟練,溶液在倒的過程中不會有丟失。
寫乙個程式去幫助無腦博士找出當a
試管是空的時候,c
試管中硫酸銅溶液所剩量的所有可能性。
輸入包括一行,為空格分隔開的三個數,分別為整數 a,b,ca,
b,c。
輸出包括一行,公升序地列出當
a 試管是空的時候,c
c 試管溶液所剩量的所有可能性。
樣例輸入
2 5 10
樣例輸出
5 6 7 8 9 10
分析:bfs求解,每種狀態三個杯子a,b,c中的水n,m,s,六種相互倒水狀態,(a->b,a-c;b->a,b->c;c->a,c->b),每次從要倒水的杯子(剩餘水量a)和要倒入水的杯中(剩餘容量b)選擇乙個小者。模擬即可
ac**:
#include#include#include#include#includeusing namespace std;
const int maxn=20+2;
int vis[maxn][maxn];
struct node
};int a,b,c;
setst;
void bfs();
while(!q.empty())
int a[3];
for(int i=0;i<3;i++)}}
}}}
int main()
printf("\n");
} return 0;
}
計蒜客 無腦博士的試管們
傳送門 時間限制1000ms 記憶體限制65536k 無腦博士有三個容量分別是 a,b,c 公升的試管,a,b,c 分別是三個從 1 到 20 的整數,最初,a 和 b 試管都是空的,而 c 試管是裝滿硫酸銅溶液的。有時,無腦博士把硫酸銅溶液從乙個試管倒到另乙個試管中,直到被灌試管裝滿或原試管空了。...
計蒜客 無腦博士的試管們
題目 無腦博士有三個容量分別是 a,b,c 公升的試管,a,b,c 分別是三個從 1 到 20的整數,最初,a和 b試管都是空的,而 c 試管是裝滿硫酸銅溶液的。有時,無腦博士把硫酸銅溶液從乙個試管倒到另乙個試管中,直到被灌試管裝滿或原試管空了。當然每一次灌注都是完全的。由於無腦博士天天這麼折騰,早...
無腦博士的試管們
無腦博士有三個容量分別是a,b,c公升的試管,a,b,c分別是三個從1到20的整數,最初,a和b試管都是空的,而c試管是裝滿硫酸銅溶液的。有時,無腦博士把硫酸銅溶液從乙個試管倒到另乙個試管中,直到被灌試管裝滿或原試管空了。當然每一次灌注都是完全的。由於無腦博士天天這麼折騰,早已熟練,溶液在倒的過程中...