戳
\(bfs\)
第一遍提交\(50\),第二遍就\(100\)了,qwq
#include#include#include#include#includeusing namespace std;
int t,ca,cb,n,step,sum;
int a_now[100001],b_now[100001],flag[100001];//a_now、b_now分別記錄a、b壺中的水,flag判斷當前這一步是從**擴充套件來的
int ans[100001],qwq[100001];//ans儲存進行了哪一步操作,qwq是最後的答案
bool vis[1001][1001];//判斷是否到達過當前情況
inline int read()
while(c>='0'&&c<='9')
return f?-x:x;
}//讀優
inline void write(int x)
}//輸出
void js(int x)
return;
}//計算用了幾步以及分別是那幾步
void bfs(int a,int b)
}}//5操作:pour ba 意為將b中水倒到a中(直到a滿或者b中水沒有剩餘)
if(i==6)
}}//6操作:pour a b}}
}int main()
puts("");//換行
step=sum=0;
memset(vis,0,sizeof(vis));//初始化
}return 0;
}
P1432 倒水問題 普及 提高(好好理解!)
題意 就是有倆被子容量a b,讓你想辦法讓b裡面裝n些水。然後有六種操作 輸出次數和過程。思路 剛開始我以為就觀察a n的關係來寫就行了,唉寫了半天40分 錯誤 35 4n a把b倒滿 然後不斷地進行b倒給a,滿了把a倒空,然後再來重複,知道a b其中乙個等於n 用了六步 1.把b倒滿。a 0,b ...
洛谷P1582 倒水
一天,cc買了n個容量可以認為是無限大的瓶子,開始時每個瓶子裡有1公升水。接著 cc發現瓶子實在太多了,於是他決定保留不超過k個瓶子。每次他選擇兩個當前含水量相同的瓶子,把乙個瓶子的水全部倒進另乙個裡,然後把空瓶丟棄。不能丟棄有水的瓶子 顯然在某些情況下cc無法達到目標,比如n 3,k 1。此時cc...
洛谷P1582 倒水
一天,cc買了n個容量可以認為是無限大的瓶子,開始時每個瓶子裡有1公升水。接著 cc發現瓶子實在太多了,於是他決定保留不超過k個瓶子。每次他選擇兩個當前含水量相同的瓶子,把乙個瓶子的水全部倒進另乙個裡,然後把空瓶丟棄。不能丟棄有水的瓶子 顯然在某些情況下cc無法達到目標,比如n 3,k 1。此時cc...