Advent of Code 发布 AI 使用新规则
编程竞赛平台颁布新 AI 政策规范参赛者使用 AI 工具的方式。影响范围有限,主要关系参赛公平性。
编程竞赛平台颁布新 AI 政策规范参赛者使用 AI 工具的方式。影响范围有限,主要关系参赛公平性。
嗨!我是 Eric Wastl,Advent of Code 的创作者。希望你会喜欢它!我还做了很多其他东西。你可以在 Bluesky、Mastodon 和 GitHub 上找到我。
Advent of Code 是一份由小型编程谜题组成的降临节日历,适合不同技能水平的参与者,并且可以使用你喜欢的任何编程语言来解答。人们会用这些题目准备面试、开展公司培训、完成大学课程、进行解题练习、参加速度竞赛,或者互相挑战。
参与活动不需要计算机科学背景——只要掌握一点编程知识和一些解决问题的技巧,就能走得很远。你也不需要一台性能强大的计算机;每道题都有一种解法,可以在十年前的硬件上于 15 秒内运行完成。
如果你愿意支持 Advent of Code,可以通过在 Bluesky、Twitter、Mastodon 上分享给其他人来间接支持,也可以通过 AoC++ 直接支持。
如果卡住了,请尝试用题目中给出的示例测试你的解法;你应该得到相同的答案。如果没有,请重新阅读题目描述。你是不是误解了什么?程序是否做了某些不符合预期的事情?示例通过后,如果答案仍然不正确,请自己构造一些可以手工验证答案的测试用例,看看程序能否正确处理。请确保你拿到了完整的题目输入。如果还是卡住了,可以请朋友帮忙,或者过一段时间再回来解题。你也可以在 subreddit 中寻求提示。
你应该可以通过三击代码块来选中它。你需要启用 JavaScript。
#!/usr/bin/env perl
use warnings;
use strict;
print "You can test it out by ";
print "triple-clicking this code.\n";
Advent of Code 使用 OAuth,通过其他服务确认你的身份。登录时,你只会把凭据提供给相应的服务,绝不会提供给 Advent of Code。随后,你使用的服务会告诉 Advent of Code 服务器,你确实是你本人。一般来说,除了已经公开的信息,这一过程不会泄露你的其他信息;Reddit 和 GitHub 都有相关示例。Advent of Code 会记录你在身份验证服务中的唯一 ID、名称、URL 和头像。
每次活动中的题目难度和主题都会有所变化。总体而言,题目会随着时间推移逐渐变难,但由于每个人擅长的技能不同,同一道题对你来说可能明显比对其他人更简单或更困难。设计谜题并不容易。
因为这个时间我能够稳定地在线,确保一切正常运行。我也有家庭、有全职工作,偶尔甚至还得睡觉。如果你无法在午夜参加,也没有关系;如果你想竞速,很多人会通过私人排行榜与同一地区的人比赛。
网站提供了一份高对比度的备用样式表。Firefox 默认支持备用样式表(View -> Page Style -> High Contrast)。
请不要这样做。由于版权和署名之类的法律问题,我不接受谜题创意。如果邮件看起来像是在提供谜题创意,我甚至不会阅读,以免自己不小心使用了其中的部分内容。
一道题发布哪怕只有一个小时,也已经会有很多人解出来;到了这个时候,存在 bug 的可能性已经非常低。请先去 subreddit 上询问。
也许吧。解题本身已经足够困难,而追求更快的速度还需要许多额外技能和大量练习;竞速解法通常与能够通过 code review 的代码完全不同。如果你觉得这很有趣,那就去做吧!不过,你应该以对自己有帮助的方式参与 Advent of Code。因此,选择一种符合自身目标的方法,并完全忽略速度,也是完全没问题的。
每年运营 Advent of Code 都会占用我大量的业余时间,而设计题目又占据了其中的大部分。在连续十年(!)保持相同日程之后,我需要做出一些改变。题目仍会从 12 月 1 日开始发布,这样日期编号才符合直觉(Day 1 = Dec 1);此后每天都会发布新题目,直到 12 月中旬结束。
全球排行榜曾是我本人、基础设施以及许多用户最大的压力来源之一。人们把这件事看得过于严肃,做出了许多严重违背竞赛精神的事情;有些人甚至诉诸 DDoS 攻击之类的手段。还有很多人错误地认为,仅仅因为自己的解题时间比不上排行榜上的成绩,就说明自己是更差的程序员。
这个功能在 2015 年推出时原本只是为了增添乐趣,后来却演变成一个不断扩大的问题。因此,在 Advent of Code 举办十年之后,我移除了全球排行榜。(不过,我提供了分享私人排行榜只读视图的功能。请不要使用这项功能或其中的数据创建一个“新的”全球排行榜。)
如果你加入了任何私人排行榜,应该询问排行榜的管理者,了解他们对成员有哪些要求。如果你不同意这些要求,就应该寻找一个新的私人排行榜,或者创建自己的排行榜!
私人排行榜可以制定各种规则,比如最大运行时间、允许使用的编程语言、你最早可以在什么时间打开题目、可以使用哪些工具,或者解题时是否必须戴一顶傻乎乎的帽子。
不应该。如果你派一个朋友代替自己去健身房锻炼,你会指望自己变得更强壮吗?
Advent of Code 谜题的设计目标,是让人类在解题过程中感受到乐趣——设计时完全不会考虑 AI 能不能解出某道题。如果你想练习如何给 AI 编写 prompt,其他地方几乎肯定有更合适的、专门为此设计的练习。
请不要这样做。Advent of Code 可以免费使用,但并不允许免费复制。如果你要在某处发布代码仓库,请不要在其中包含 Advent of Code 的内容,比如题目文本或你的输入数据。如果你正在制作网站,请不要让它看起来像 Advent of Code,也不要使用与之相似的名称。
谜题、代码与设计:Eric Wastl
社区管理员:Danielle Lucek 和 Aneurysm9
Advent of Code 是在美国注册的商标。Advent of Code 的设计元素、语言、样式和概念均为 Advent of Code 独家所有;未经 Advent of Code 明确书面许可,任何其他个人或实体均不得复制或使用。Copyright 2015-2025 Advent of Code. All rights reserved.
你可以在讨论、课堂、源代码、印刷材料等场景中链接或引用 Advent of Code 的谜题,即使是在商业场景中也可以。Advent of Code 不会主张对你的解法实现拥有所有权或版权。