倒水問題 「fill a」 表示倒滿a杯,"empty a"表示倒空a杯,「pour a b」 表示把a的水倒到b杯並且把b杯倒滿或a倒空。
輸入包含多組資料。每組資料輸入 a, b, c 資料範圍 0 < a <= b 、c <= b <=1000 、a和b互質。
你的程式的輸出將由一系列的指令組成。這些輸出行將導致任何乙個罐子正好包含c單位的水。每組資料的最後一行輸出應該是「success」。輸出行從第1列開始,不應該有空行或任何尾隨空格。
sample input
2 7 5
2 7 4
sample output
fill b
pour b a
success
fill a
pour a b
fill a
pour a b
success
如果你的輸出與sample output不同,那沒關係。對於某個"a b c"本題的答案是多解的,不能通過標準的文字對比來判定你程式的正確與否。 所以本題由 spj(special judge)程式來判定你寫的**是否正確。
經典邏輯問題,兩個杯子能否湊出目標容量x,在於是否存在i使得(i*(b-a)+b)%a等於c%a (a瞄了一眼其他同學的有用bfs遍歷+map記錄操作名字的,emm這不失為一種好的方法,畢竟對於求少操作次數還是很管用的,用map也可以減少中間路徑的記錄成本。
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
int a,b,c;
int x;
voidf(
)}void
sub(
) cout <<
"empty a"
add()}
}int
main()
//求解
if(x == c)
cout <<
"success"
c)
sub();
if(x < c)
add();
}return0;
}
程式設計思維與實踐 Week2 作業
b題 倒水問題 bfs 東東有一張地圖,想通過地圖找到妹紙。地圖顯示,0表示可以走,1表示不可以走,左上角是入口,右下角是妹紙,這兩個位置保證為0。既然已經知道了地圖,那麼東東找到妹紙就不難了,請你編乙個程式,寫出東東找到妹紙的最短路線。input 輸入是乙個5 5的二維陣列,僅由0 1兩數字組成,...
程式設計思維與實踐 Week2 作業
b pour water 東東有一張地圖,想通過地圖找到妹紙。地圖顯示,0表示可以走,1表示不可以走,左上角是入口,右下角是妹紙,這兩個位置保證為0。既然已經知道了地圖,那麼東東找到妹紙就不難了,請你編乙個程式,寫出東東找到妹紙的最短路線。輸入 輸入是乙個5 5的二維陣列,僅由0 1兩數字組成,表示...
程式設計思維與實踐 Week2 作業2道
這周作業主要是對廣度優先搜尋bfs的應用,包括求最短路徑的迷宮問題及隱式圖問題 倒水問題。東東有一張地圖,想通過地圖找到妹紙。地圖顯示,0表示可以走,1表示不可以走,左上角是入口,右下角是妹紙,這兩個位置保證為0。既然已經知道了地圖,那麼東東找到妹紙就不難了,請你編乙個程式,寫出東東找到妹紙的最短路...