Songkeys

Songkeys

Hello. Songkeys here~ :D
twitter

[中文] AdventOfCode

保羅#

2017 年,我大學二年級。這時的我真正專業地學習計算機編程不到一年。

Paul Dempster 是我們的一位學院教師(在 Nottingham 任職十年後,他現在去了 Lancaster 任教)。我至今仍記得他在課堂上的神采 —— 伴隨著簡潔的 PPT 排版,飛速熟練地用 IDE 和 Terminal 教我們這些懵懵懂懂的孩子們基礎編程知識。

相比於其他老師任教的計算機理論課,我更喜歡上他的 C 語言課程。因為在我看來這更實用、爽快。我記得他安排給我們的每週一次半小時隨堂測驗的題目新穎有趣,有時也充滿挑戰,比如限時完成 linked list 方法,又比如給一個排版錯亂的 C 語言源文件,要求限時 format 這個文件(當時的我蠢到手敲格式而不是用 IDE formatter)。這份興趣讓我在期末的編程作業中,拿下 99/100 的成績。

我的第一年 AdventOfCode#

當大二上學期的複習季來臨,Paul 給我們發了一封郵件,向我們介紹了 AdventOfCode.com (原諒我弄丟了郵件原文,因為學校郵箱畢業後就再也登錄不了)。

郵件裡,用大大小小幾個段落,介紹了這個網站是一個編程謎題網站,從 12 月 1 日起到聖誕節,每日一題,每題又有難度漸增的兩部分。每完成一部分會獲得一顆星星,25 天總共有 50 顆星星。全球有很多人都在參與。大家用它來玩速解比賽、做面試準備、鍛煉編程技能、互相比拼、或者僅僅娛樂。

aoc-2017-homepage

Paul 還建立了一個 private leaderboard,讓我們加入進來一起玩。雖然最後加入的同學不到十幾個。

我點開網站,幾分鐘時間便完成了第一天的題目,拿到了兩顆星星。我很興奮。

和我一樣興奮的還有我的一位室友,一個學霸,一個狠人。

我們接下來的幾天就每天下午一點(GMT+8,即 EST 零點)等著題目解鎖,然後衝刺解題。

然而不是每天都很順利,越往後,題目難度越大。我們經常因為題意理解錯誤而提交了錯誤答案或寫錯邏輯後被凍結一段時間,也經常因為寫了效率很差的邏輯而等待很久很久(once you play, you will see)。

我們蹩腳地寫著代碼,但是非常欣喜地看到它能解出題目。我們又努力地優化代碼,希望它能跑得更高效。

有些天,我甚至寫出了可視化的解題過程

最後,我們解鎖了 25 天。

aoc-2017-home-unlocked

我們非常開心。

每一年十二月的陪伴#

從 2015 年起,每年的聖誕節,AdventOfCode 都有一個背景故事,伴隨著每日解題進度的更新,故事也逐漸發展,最後在聖誕節那天完成結局。而解題的大家們度過了開心又有挑戰的一個月,實在是值得慶祝一番,而且又留下了美好深刻的回憶。

而我在接下來的每一年都在把這個活動介紹給不同的人 —— 新的同學、新的朋友、新的同事……

aoc-my-recommendation-in-wechat-recommendation

在 2019 年的前幾天,我甚至嘗試了每天用一種不同的語言解題( Songkeys/advent-of-code-2019 )。

可惜,出於各種各樣的原因,我卻撐不到十幾天,再也沒能拿齊所有星星了。因為再也沒有太多時間騰出來投入,也再也沒有那些同學朋友的陪伴了。

那,再來玩吧#

轉眼間,竟然五年過去,已是 2022 年了。

我再也不是那個懵懵懂懂的代碼新手。如今,我寫的代碼也很少是為了學習和興趣,更多是帶著工作或項目目的去編程。雖然也有不同的樂趣,但比起當初,總覺得少了些什麼。

我決定立下一個 flag—— 今年無論如何,也得在聖誕節那天拿齊 50 顆星星。而接下來的這些天,我會慢慢補打卡前些年的關卡。

如果你被我打動了,那今年的 12 月 1 日等你一起!

社區#

對了,你還可以逛逛這些社區:

一起來玩吧。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。