混亂的約會行程,竟是學妹給的智力測驗!?

JN-avatar-img
發佈於計算機
更新於 發佈於 閱讀時間約 6 分鐘

一、工具人

前陣子看到有人在討論徵友,讓我想起大學時的學妹,小香,清新脫俗,香氣四溢,每天排隊給她帶三餐的工具男多到「罄竹難書」,而我也是其一。我相信有試有機會,畢竟我爸開保時捷,我媽開法拉利,我開玩笑...

事實上,我家境平凡,還只是個騎車的二輪仔,到底如何和我的 賽道王者 一起擄獲學妹芳心,是我每天睡前的唯一思考。

raw-image

有天早上,夢還沒清醒,手機突然響起,竟然是小香,我不禁驚呼,

「มันหอมมาก tuscany ที่รักของฉัน!」

奇怪怎麼說起了泰文?明明沒學過,連什麼意思都不知道,大概是最近看太多泰國片的關係。算了不重要,趕緊接起手機...

怎麼了呀? 「幫我買早餐好嗎」

想吃什麼呢? 「都可啊」

蛋餅好嗎? 「不想耶」

煎餃呢? 「有點油耶」

仙女紅茶? 「可以唷」

顧不得無厘頭又反覆的對話,也顧不得小香找上我的原因,身為工具人,使命必達才是最重要的,這樣才會有下次,對吧。總之,從那次起,小香越來越常找我幫忙,我們也越來越熟。後來才知道,原來我是少數有耐心能包容她優柔寡斷、反覆無常個性的人。

二、奇怪的要求

數個月後,我們的關係進展到偶爾會一起逛街、用餐、聊心事,雖然日子總是簡單過,但這已令我十足感恩,畢竟人貴自知,主動權從不在我這,因此我也早已習慣被動等待的日子。

總算等到。

某次週五晚上,小香打來找我討論隔天行程,

「JN、JN,明天週末想跟你做好多事喔,畫畫、爬山、游泳、購物、電影、聽歌、唱歌、看書、用餐,我全都要,幫我排一下行程吧~」 電話那頭的她,一如往常,無厘頭的講著。

「也太多了吧,平凡一點不好嗎」 我好氣又好笑地埋怨。

霎時電話那頭傳來一句,

平凡,讓人厭煩。

正經的口氣讓我愣了一下,隨即小香又恢復平常傻呼呼的樣子,

「哈哈,開玩笑的,你不是最會開玩笑。」

小香緊接著又說,

「認真聽喔,剛剛講的那些行程,請記得,不管間隔幾個行程都可,爬山要排在用餐後,游泳要排在用餐、聽歌、購物、畫畫後,購物要排在爬山、電影、看書後,電影要排在看書後,聽歌要排在畫畫後,唱歌要排在看書、聽歌後,看書也要排在聽歌後。就這樣,明天見囉!」

哇,這...,我腦袋彷彿突然打結,

「好...好啊,我幫妳規劃一下,明...明天見。」

高興的心情不過三秒,隨之而來的是我緊皺的眉頭,掛上電話,腦海重複默念,

「這個之前要做那個,那個之前還要做那個,這個之前...那個之前...」

诶!?

難道這是...

raw-image


三、解題

我在紙上寫下小香的要求,並整理成條列式清單:

  • 用餐 之前: (無)
  • 畫畫 之前: (無)
  • 爬山 之前: 用餐
  • 游泳 之前: 用餐、聽歌、購物、畫畫
  • 購物 之前: 爬山、電影、看書
  • 電影 之前: 看書
  • 聽歌 之前: 畫畫
  • 唱歌 之前: 看書、聽歌
  • 看書 之前: 聽歌

然後將各行程按照先後順序,逐一畫成流程圖。例如:

爬山之前要完成用餐,

raw-image

游泳之前要完成用餐、聽歌、購物、畫畫,

raw-image

以此類推,把清單上的行程都畫完。

raw-image

果然沒錯!這就是計算機科學中典型的 有向無環圖 (DAG)。

幫小香規劃行程,可以轉化為:「為 DAG 圖上的每個行程,找出一個合理的執行順序,使任一行程都能符合箭頭所規定的先後關係。」 而這個符合先後關係的順序就稱作 拓撲排序 (Topological Sort)。

找出拓樸排序常用的 演算法深度優先搜尋,它主要的精神是:「照著圖上的箭頭走到最深處,將最深處的行程排在最後做。」

以下演示一遍,如何使用深度優先搜尋找出拓樸排序。

1. 隨意找個行程起點,以用餐為例,順著箭頭走到最深處是游泳,所以把游泳排在行程表中的最後一個空位,行程九,並將游泳改成淡黃色,才不會忘記已經排過。

raw-image

2. 繼續以用餐為起點 (直到能走的路線都走完),順著箭頭走到最深處是購物,所以把購物排在行程表中最後一個空位,行程八,並將購物改成淡黃色,才不會忘記已經排過。

raw-image

3. 再來最深處是爬山,將爬山排在行程七,並改為淡黃色。

raw-image

4. 以用餐為起點的路線都走過了,只剩用餐本身,因此最深處即為用餐,所以就將用餐排在行程表中最後一個空位,行程六,並改為淡黃色。

raw-image

5. 從還未排進行程表中的行程(淺藍色),選一個當新的起點,這邊以畫畫為例,順著箭頭走到最深處是電影,所以把電影排在行程表中的最後一個空位,行程五,並將電影改成淡黃色。

raw-image

6. 再來最深處是唱歌,排在行程四,並改成淡黃色。

raw-image

7. 再來最深處是看書,排在行程三,並改成淡黃色。

raw-image

8. 再來最深處是聽歌,排在行程二,並改成淡黃色。

raw-image

9. 最後是畫畫,排在行程一,並改成淡黃色。

raw-image

大功告成,全部都排完了。

約會時只要依序從 行程一 執行到 行程九,就能完成小香學妹全部的要求了!


四、約會之後

游完泳,看著小香心滿意足的表情,我知道這題得分了。一起走回宿舍的路上,小香看著我說,「謝謝你,我下次還要。」

「不客氣,我也還想要。」 我亂回一通。

心跳還來不及加速,小香就迫不及待的問,

「下次我們來一日北高吧,101到龍虎塔,我騎車載你!」

「可是妳陽光吉祥號的油耗...」 我不太放心。

「沒關係,我知道妳會幫忙規劃的。」 小香興致勃勃的說著。

我心想,不知道這次又是什麼題目,雖然沒什麼把握得分,但我現在只想把握當下。輕靠著小香的肩慢慢散步,我靜靜地享受週末的最後時光。而腦中又響起那句正經八百的聲音:

「平凡,讓人厭煩。」


下一集,

「通往妳心底的最短路徑」

待續..


留言
avatar-img
留言分享你的想法!
平凡-avatar-img
2023/03/27
來偷看工具人系列有沒有出續集了😂
JN-avatar-img
發文者
2023/03/28
平凡 加油加油 帶我一起飛~
vivi-avatar-img
2023/03/10
續集....(敲碗
black mamba-avatar-img
2023/02/15
謝謝你,我還想要可以嗎?
JN-avatar-img
發文者
2023/02/15
可…可以😉
Argus-avatar-img
2023/02/15
JN太強了,決定訂閱了😆
JN-avatar-img
發文者
2023/02/15
哈哈感謝 寫文章好累 可能不會太常更新😂 g大太厲害了~
索飛芽-avatar-img
2023/02/15
JN 也太有趣了!置入了sym、計算機科學和平凡🤣🤣
JN-avatar-img
發文者
2023/02/15
今天三陽日,po個文應景一下~
avatar-img
JN的沙龍
62會員
30內容數
個人網誌啦~ 內容包含但不限於學習筆記、心情抒發、火星廢文...
JN的沙龍的其他內容
2025/01/17
某天,某島國上的花生農老G,因為體力漸衰、氣候異常、地緣政治...等因素,種出的花生品質越來越不穩定,於是邀了其他島上的A格斯先生、高手B爾、阿國兄,四人一起組了個互助會...
Thumbnail
2025/01/17
某天,某島國上的花生農老G,因為體力漸衰、氣候異常、地緣政治...等因素,種出的花生品質越來越不穩定,於是邀了其他島上的A格斯先生、高手B爾、阿國兄,四人一起組了個互助會...
Thumbnail
2025/01/13
下圖為程式碼節錄 把 output 印出來看,會發現有五組數字,每一組數字依序對應到驗證碼圖片
Thumbnail
2025/01/13
下圖為程式碼節錄 把 output 印出來看,會發現有五組數字,每一組數字依序對應到驗證碼圖片
Thumbnail
2025/01/13
資料集有了,模型兜好了,再來可以開始訓練了。 首先準備 train.py,下圖僅節錄部分程式碼。 圖中包含了大部分的程式和註解,整段 code 也幾乎是公版了,建議簡單看過再自己融會貫通,有問題可以根據執行時的 error log 去解決,也可以留言討論。 此時資料夾應該長這樣
Thumbnail
2025/01/13
資料集有了,模型兜好了,再來可以開始訓練了。 首先準備 train.py,下圖僅節錄部分程式碼。 圖中包含了大部分的程式和註解,整段 code 也幾乎是公版了,建議簡單看過再自己融會貫通,有問題可以根據執行時的 error log 去解決,也可以留言討論。 此時資料夾應該長這樣
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
全球科技產業的焦點,AKA 全村的希望 NVIDIA,於五月底正式發布了他們在今年 2025 第一季的財報 (輝達內部財務年度為 2026 Q1,實際日曆期間為今年二到四月),交出了打敗了市場預期的成績單。然而,在銷售持續高速成長的同時,川普政府加大對於中國的晶片管制......
Thumbnail
2024/12/20 這禮拜經歷換下單軟體,行情也不太明朗, 真的完全賺不到錢啊! 今天收盤後還意外得知有一張空單沒補到, 真的傻眼下單介面長不一樣真的還是有差。 當周損益:+3276
Thumbnail
2024/12/20 這禮拜經歷換下單軟體,行情也不太明朗, 真的完全賺不到錢啊! 今天收盤後還意外得知有一張空單沒補到, 真的傻眼下單介面長不一樣真的還是有差。 當周損益:+3276
Thumbnail
「她以前在別家店上班,有時趕著上班,找不到好一點的位置停車,就先找地方能卡位就好。有一次,就不小心停在店家門口,下班後,機車儀表板上有一張語氣很不客氣的便利貼。」
Thumbnail
「她以前在別家店上班,有時趕著上班,找不到好一點的位置停車,就先找地方能卡位就好。有一次,就不小心停在店家門口,下班後,機車儀表板上有一張語氣很不客氣的便利貼。」
Thumbnail
小湯驚呼著這不是無照駕駛。阿熱一副你真的是大驚小怪,「你是去思本高中唸書唸到膽子変小囉。」沒有堅持著原則,小湯已經把家裏機車的鎖匙給了阿熱,他們騎出了停車場。本以為只是懶得走,騎到附近,結果阿熱是油門一吹,馳騁嘯風。
Thumbnail
小湯驚呼著這不是無照駕駛。阿熱一副你真的是大驚小怪,「你是去思本高中唸書唸到膽子変小囉。」沒有堅持著原則,小湯已經把家裏機車的鎖匙給了阿熱,他們騎出了停車場。本以為只是懶得走,騎到附近,結果阿熱是油門一吹,馳騁嘯風。
Thumbnail
恆豪恆傑双胞胎跟小湯站在校門口張望等待著。小湯看見爸地的車出現在夜晚的成功路上,他興奮地又叫又跳,完全忘記了今日操練了一天,體力透支的辛勞。小湯開了前座的車門,要上車前,唐々說:「你跟他們坐後座。」小湯疑惑著,欸行車座位禮貌,他不是該坐前座,他坐後面的話不就把爸地當成司機了。小湯的疑問並沒有很久,一
Thumbnail
恆豪恆傑双胞胎跟小湯站在校門口張望等待著。小湯看見爸地的車出現在夜晚的成功路上,他興奮地又叫又跳,完全忘記了今日操練了一天,體力透支的辛勞。小湯開了前座的車門,要上車前,唐々說:「你跟他們坐後座。」小湯疑惑著,欸行車座位禮貌,他不是該坐前座,他坐後面的話不就把爸地當成司機了。小湯的疑問並沒有很久,一
Thumbnail
比較有意思的是當時的社會結構。 在性別方面,當時的女權很高? 不知原著是否考究,或者是為了畫面美觀,多安排一些女性角色吧。 在階級方面,人權同樣是低落的,人口販賣隨處可見,不分男女。 在種族方面,各國之間的移民、流動、婚姻似乎也很頻繁,或許是戰國末期的現象,也為秦朝的統一建立的基礎。
Thumbnail
比較有意思的是當時的社會結構。 在性別方面,當時的女權很高? 不知原著是否考究,或者是為了畫面美觀,多安排一些女性角色吧。 在階級方面,人權同樣是低落的,人口販賣隨處可見,不分男女。 在種族方面,各國之間的移民、流動、婚姻似乎也很頻繁,或許是戰國末期的現象,也為秦朝的統一建立的基礎。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News