bookmark_borderAdvent of Code 2024

一年一度的 Advent of Code 又來了,應該不需要多說了吧。

這裡就來順便更新一下我的近況好了。最近工作上遇到了一些狀況,比較不怎麼有心力去做之前計畫好的事;去年這時說到的 AoC 相關的東西的收尾結果一丁半點都沒動還是卡在那裡,然後接下來有一個我想丟出來的東西會要趕快先搞定。因此就變成了連續兩年空轉的部落格……

11 月時倒是因為這樣跑去做了另一個人的算是熱身賽 (?) 的站叫 Everybody Codes (有他的參賽者貼去 Advent of Code reddit 版我才知道的),照這站長的計畫好像未來應該都會在 11 月時出新題,而今年他的題目雖然有一點偏 (最後這兩週我沒引入我的 BFS/A* 函式庫的次數好像屈指可數),不過確實算是滿用心在做的。期待未來有沒有更有趣的東西。

那麼照例文章押 12/1 發出,但接下來每天都會更新當天的題目心得;以及一直都有的 github repo 連結

Continue reading “Advent of Code 2024”

bookmark_borderAdvent of Code 2023

又到了年末 Advent of Code 的時間了。關於這個活動還請參照去年的文章;不過鑑於去年前幾天發生的事情,今年新增了一條「禁止使用 AI 去登入全站排行榜」的規則——並沒有全面禁止 AI,只有不允許使用 AI 讓自己登入全站前百名的排行榜而已。算是個滿合理的限制就是了。

話說這一年來還真的沒多少文章貼出來過……在檯面下做的東西一直有在轉,但範圍稍微大了一點(有一個跟 Advent of Code 相關的東西差了最後那 5% 還沒完成,結果今年的又來了),工作又相對忙了一些(忙到連 GMTK Game Jam 2023 都沒能參加……那個週末整個累壞了),所以一直沒能貼些東西。

那麼照例繼續閱讀之後就是各題的簡要心得 (於是自然有各題的雷),然後也是照例文章押 12/1 發出,但之後每天題目做完都會來更新。原始碼整理在同一個 github repo 上了。

Continue reading “Advent of Code 2023”

bookmark_borderGCJ 2023 Farewell Round C

沒想到今年就是最後一年的 GCJ 了……

這最後一年也不是一個完整的賽事年,而是就簡單地在 4/15 平行開四個難度各有不同的回合做為 Farewell Round,就此告別大家了。根據 FAQ,這四個回合的難度分配是這樣子的:

考慮到我這幾年的 GCJ 大約都在 R2 落馬,Round B 若是約 GCJ R1 難度的話我應該相對輕鬆,所以決定這最後一次就以 Round C 作結吧。

……然後就發現好像咬太多了,最終成績是 24/100。那麼,這句話也是最後一次用在 GCJ:成績截圖以下有雷。

Continue reading “GCJ 2023 Farewell Round C”

bookmark_borderAdvent of Code 2022

一年一度的 AoC 又要開始了。

為還不知道 AoC 是什麼的人簡單介紹一下:Advent of Code,名字取自聖誕日曆 Advent Calendar,是每年 12 月時開始的程式設計解題挑戰。和聖誕日曆一樣,從 12 月 1 日開始每天都有新題目,一直到 12 月 25 日聖誕節為止。每天更新的時間是美東時間的換日,換算台灣時間是下午一點。

題目的故事主題當然就是聖誕節,基本上就是那種「聖誕節快完啦,幫忙寫些程式救救聖誕節」之類的故事;但題目本身則包羅萬象,從簡單的練習題到複雜的微組合語言模擬程式都有,很適合各種不同程度的程式設計練習。就我看來,初階的程式設計學習者應該至少前五到十天不會有問題,有學了一些資料結構演算法的應該可以做到 15 到 20 日,而全通雖然是點挑戰,但也不需要到我這種打過比賽或寫過一堆程式的人,大概資工系大二到大三左右的程度應該就行了吧?

我自己其實曾經在 2018 年時做過一次,不過那年因為各種原因停在半途,一直到去年看到一個我加的 Discord 群裡有要做就又把它撿回來了。去年因為比較閒一點,除了去年當年的題目之外,一路回頭到把 2018 年之後的題目也做完了;今年則是在約一個月前把最早的三年 (2015~2017) 也清掉加入 350 星俱樂部。

這篇文章預計會是動態更新,發表時間是押 12 月 1 日,但會隨著我每天做題目新增當天的簡評。不過鑑於文章更新也要時間,當天的題目可能要到晚上或隔天才會更新。原始碼整理在 github 上了。

繼續閱讀以下就是各天的題目了。

Continue reading “Advent of Code 2022”

bookmark_borderGKS 2022 Round C

結果晚七其實也不是什麼好時間。還好 GKS 的難度一般來說偏低,所以中間跑去邊做事邊想題目還是可以的。

破台時間是比賽終了前 15 分鐘,排名 188 名;不過如果不計滿分魔王 Q4 大測資的話,到 Q4 小通過的時間是 1 小時 23 分鐘,大約才用去一半時間而已。

照例分數截圖以下有雷。

Continue reading “GKS 2022 Round C”

bookmark_borderGCJ 2022 Round 2

慘烈的一場比賽……慘烈到原本以為我應該沒有晉級機會的,但結果開獎之後卻發現只要最後早個十五分鐘決定放棄東西就能晉級了。

多慘?這次的晉級線是 25/100 (+1:19:12),對應通過題目是 Q1 及 Q2 小……

我自己的成績也是 25/100,不過果然做題目沒有這麼順手了,加上 Q1 的一次罰時我的時間是 +1:43:05,排在了 1142 名。

慣例成績截圖以下有雷。

Continue reading “GCJ 2022 Round 2”

bookmark_borderGCJ 2022 Round 1A

好狠的 Round 1A……配分是 10+15/31/13+31,只做前兩題說不定還晉不了級--從我破台開始,1500 名一直都是 Q1 Q2 的 56 分,而因為這個配分的關係,下一個分數是 Q1 Q3 的 69 分,再上去就是破台了,所以基本上可以說晉級線一定是 Q1 Q2 的 56 分,只是劃在解題時間多少而已。

至於為什麼沒有 Qualification Round 的文章……這次的 Q Round 給五題,不過前三題是基本題,第四題需要想一下,第五題才是鑑別題。然後我做了前四題,第五題因為抓不到一個關鍵的思考點所以沒做。既然最有得寫的第五題都沒做出來了,我再寫些簡單觀察就跟題解重疊率太高就沒寫了。

回到 Round 1A。我在賽事終了前 50 分鐘左右「破台」,這時的暫時名次約 370 名左右;賽後發現 Q3 大 WA 了只得 69/100,不過還有約 500 名。照慣例分數截圖以下有雷。

Continue reading “GCJ 2022 Round 1A”