如果你村通网还不知道的话,2025年的 Advent of Code (简称 AoC)形式上有了一些变化,重点包括:
- 将原本25天的题目减半,改为共12天。每天的题目形式不变,依然分为两部分,每部分一个小题。
- 取消了全球排行榜,改为仅保留私人排行榜。你仍然可以和好友组建小组,在小组内进行排名。
虽然题目数量明显减少,但是整体质量仍然保持较高的水平,也和往年类似,涵盖了各种算法与数据结构的应用。
当然,也有一些不尽如人意的地方,比如题目的样例设计感觉不如以前精细:
- 第11天的题目样例本可以让前后两部分共用一个样例输入,但实际上却是为每部分编写了独立的样例输入,导致需要额外编写测试代码来验证解法的正确性,或者自己修改样例输入以便复用。
- 第12天的题目则更为逆天,在文字部分和样例输入都描述了一个 NP 完全问题的情况下,题目最终的解法实际上却是简单的单个条件判断,没有任何算法可言,这种设计实在令人费解。
即便如此,AoC 依然是每年年底我最期待的编程活动。今年我依然使用 Rust 语言来完成所有题目,在项目组织上与去年相比做出了一些调整,更符合 Rust 项目的组织习惯,整体体验非常愉快。我的解法代码均已开源,欢迎大家前往我的 GitHub 仓库 批判。
在之后的时间里,我也会挑一些比较有趣的题目或者我认为比较值得分享的解法进行单独分析与讲解,敬请期待。
最后,祝大家新年快乐,编程愉快!