口號:犍為寶貝出品,必屬精品
本文閱讀難度較大,對絕大數人都不適用。但我敢保證,你搜遍百度、谷歌也休想找到類似對餐廳效率演算法的解析,對對此問題感興趣的朋友來說,絕對是難得的參考。足可以以此發表一篇學術論文。本想認真寫好這篇文章,讓更多的人理解這個理論,但又覺得“一切都是浮雲”。寫好了,又有什麼意義呢?又有幾個人會認真去看,又有幾個人能看懂呢?
本文旨在闡述QQ餐廳遊戲畫面中的那個小時鐘的演算法,讓你知道如何才能達到高效率。絕大數人會說,“這還不簡單,隨便怎麼擺,只要把網上那張表拿過來看,顯示的蹭飯時間達到滿效率所對應的時間不就可以了嗎?”沒有錯。但是如果你只是停留在這個層面,那麼你不適合於繼續讀下去。不解釋。
好了,開始。
餐廳的速度共受4個速度上限的限制,分別為:
顧客流量上限;
廚師的做菜速度上限;
服務員的服務速度上限;
桌椅擺放的速度上限。
取這4個速度上限中最小的那個作為整個餐廳的主菜銷售速度。換句話說:不論何種情況,主菜的售出速度必然是上面四個速度上限中的其中之一。
對於顧客流量上限,似乎不需要多說,它僅僅由玩家的等級決定。這個大家都懂的,正是網上那張表上的資料。比如30級的顧客流量上限為:870人/小時,25級是804。其中1個人最多隻吃1份主菜。
廚師的做菜速度上限,僅受廚師數量影響。1個廚師的做菜速度是450份/小時,2個廚師的做菜速度是900份/小時。可見現今所有等級(34級以下)均最多用2個廚師即可。
服務員的服務速度上限同時受服務員數量、廚房到桌椅的距離影響。
桌椅擺放速度上限同時受桌椅數量、廚房到餐桌的距離、門到餐椅的距離三方面因素共同影響。
首先必須掌握服務員端菜位置的概念。服務員端菜時總是站在靠近櫥櫃的第一行從左數起的第3到第8個位置。舉例,假如第一行第2、4、5三個位置擺有桌椅或裝飾,那麼服務就只能站在第3、6、7、8這四個位置。第1、2以及第9以後的所有位置服務員都是不能在那端菜的。
廚房到餐桌的距離是指:從服務員端菜位置到最遠的餐桌所經歷的格子數。由於服務員可能有多個端菜位置、餐桌也有多個,所以具體的演算法比較難以講解。假設有A、B、C三張餐桌,有X、Y、Z三個服務員端菜位置。首先選定一張餐廳,比如A,嘗試找出從服務員端菜位置最左邊的那個(X)到A的最短路徑,如果X不能到達A,再嘗試找出接下來可能端菜位置(Y)到A的最短路徑。直到第一次找到能夠到達A的最短路徑。找到這個路徑後,數出它所經過的格子數,即為餐廳A到廚房的距離。同樣的方法,再計算B到廚房的距離,C到廚房的距離。A、B、C的三個距離中最大的那個即為“廚房到餐桌的距離”。
門到餐椅的距離是指:從大門到最遠的餐椅的距離。大門只有一個,餐椅可能有多個。與上面的計算相似,找出所有餐椅到大門路徑經歷格子數中最大的那個,即為門到餐廳的距離。
三種速度上限的計算公式如下,單位是“份/小時”。
推薦:qq餐廳13級最佳擺法 QQ餐廳攻略(QQ餐廳外掛)
|
舉個簡單的例子,隱身卡位擺法,2廚2服。此時,所有服務員到餐桌的最大距離是2格,套用公式:服務員的服務速度上限 = 9000 / ( 7 * 2 + 5) * 2 = 947 份/小時。
有了這一理論,我們可以解釋幾乎所有有關裝修、桌椅擺放、廚師服務員的問題。比如為什麼隱身傳菜法是最有效率的擺法;比如為什麼擴建可能會使同樣的擺法效率降低;比如為什麼廚師最多隻需要僱傭1個;比如為什麼到了一定級別就必須至少要用14張桌椅;比如……
還有些細節也沒有完全描述,否則將會變得更為晦澀難懂。比如“廚房到餐桌的距離”在某些特殊情況下(主要是指不可達)會轉為計算廚房到餐椅的距離。這是解釋背靠背擺法的基礎。再比如伺服器與客戶端在判斷有效桌椅時有較大的不同。太多了,無法一一列舉。
第一次到Q吧發帖回帖就是在餐廳吧,大概是7月初,算算已經整整了4個月了。在這裡,認識了不少朋友,學到了不少東西,也一步步成長,慢慢“無所不知”,開始習慣於回覆別人的問題。最後,就變得有些厭倦了,以一句“不輕易發表評論”搪塞了無數新手的提問。我想改變這種生活方式,以後來Q吧就少了,不會再經常看到我的身影。本文算是近期給大家最後的“作品”。
為了更好地理解距離的演算法,下面再用一個圖來說明。紅色數字表示門到餐椅的距離(15格),藍色數字表示廚房到餐桌的距離(4格)。紅色的數字應該較易理解,是從門到最遠的那張餐椅所經歷的格子數。
廚房到餐廳的距離就沒那麼容易,關鍵是要確定服務員的端菜位置。服務員只能站在第一排的第3到第8個位置。請認真檢視圖中我用黃色橢圓標註的地方,那是其中一個廚師的上菜位,總共有6個(第3到第8)。服務員只能站在這幾個位置前等候。由於這幾個位置已經被第一排的桌椅佔住了一部分,所以服務務能端菜的位置只有從左數起的第4、7、8三個位置了。按(從左到右的)順序,首先嚐試從第4個位置(剛好在圖中藍色數字“1”的位置)走遍所有的餐桌,發現均能走通,最遠的餐桌,格子數為4格。這表示廚房到餐桌的距離是4格。
運用公式:桌椅擺放速度上限 = 36000 / ( 21 *廚房到餐桌的距離 + 7 * 門到餐椅的距離 + 250 ) * 桌椅總數
即 桌椅擺放速度上限 = 36000 / (21 * 4 + 7 * 15 + 250 ) * 6 = 492.0 份/小時。同樣的道理,我們再計算其他的速度上限。服務員服務速度上限 = 9000 / ( 7 * 4 + 5) * 2 = 545 份/小時,廚師做菜速度 = 450 * 2 = 900份/小時。(廚師和服務員數量均為2。)在加上一個大家最為熟知的該等級客流量上限738(所謂的“滿效率”)。在這四個速度中,選擇最小的那個,即492.0份/小時,即為整個餐廳的賣菜速度。
下面用下圖來驗證,(3074 + 3074)/12.5 = 491.9 份/小時,(在誤差允許範圍內)與理論計算完全相符。
應部分朋友要求,列出了各等級為達到滿效率所必需的最大距離。此“距離”僅指廚房到餐桌的距離,而不包括門到餐廳的距離。因為後者顯得沒有那麼重要(證明略)。總是假設僱傭滿了所有僱員,而且廚師只有2個(廚師為何只要2個,見正文)。
15至16級,不超過12格 |
下面再給出一個複雜一點的滿效率擺法。
紅色路徑是幾條較為典型的長路徑,此路徑為廚房到餐桌的路徑。藍色數字給出了幾個有代表性的格子數。可以看出,最遠的距離是14格,根據上表中的結論,容易做到滿效率。
有人或許要問為什麼服務員端菜位置是魚缸旁邊那個位置,而不是最左下角的那兩個之一呢?看了正文就知道,服務員只可能站在第3到第8個位置端菜。