5-魔童闹谷
(标题太劲爆了
从特训班回来的那个晚上,我失眠了。
李教授激动的眼神,同学们震惊的表情,还有那段在古老Dev-C++上成功运行的C++代码,像走马灯一样在我脑海里反复播放。这个世界的信息学荒漠比我想象的更加贫瘠,而我,似乎成了唯一掌握着天理 (原神好玩吗) 的人。
辗转反侧到凌晨两点,我索性从床上爬起来,打开了电脑。鬼使神差地,我在浏览器地址栏输入了那个刻在DNA里的网址——www.luogu.com.cn。
令人震惊的是,网页竟然加载出来了。
虽然界面布局与我记忆中的洛谷相比显得异常简洁,甚至有些简陋,但那熟悉的蓝色Logo和 “洛谷” 二字,让我心头猛地一跳。这个陪伴我无数个刷题日夜的OJ平台,在这个世界里依然存在。
我迫不及待地开始探索这个“平行世界”的洛谷。
首页的比赛空空如也,只有寥寥几个官方公告。点开“题目列表”,眼前的景象让我倒吸一口凉气————题库总数显示为87题,还不及原世界洛谷题量的零头。
我逐一点开这些题目:
- P1001 A+B Problem
- P1002 1到100的求和
- P1003 判断奇偶数
- P1004 找出三个数中的最大值
- P1005 判断平年闰年
- ...
一直翻到P1087,难度最高的也只是一道“冒泡排序的实现”,标注的难度是“普及-”。
在我原来的世界里,这些题目连入门都算不上,充其量只是编程的 “Hello World” 级别。
更让我感到冲击的是提交记录。
我点开那道最经典的“A+B Problem”。通过率显示为65%,这个数字低得令人难以置信。点开错误的提交记录,我看到许多 细丝鼻孔 匪夷所思的代码:
有人写道:
输入 a 和 b
让 c 等于 a 加 b
输出 c
这显然是还在用自然语言思考,完全不理解编程语法。正常的OIer已经看不下去了
还有人写出了这样的代码:
a = 输入
b = 输入
循环 i 从 1 到 a
循环 j 从 1 到 b
c = c + 1
输出 c
?
这完全误解了输入和加法的概念。
评论区更是哀鸿遍野:
“这题也太难了吧!怎么同时读入两个数啊?”
“循环到底怎么写?为什么我的程序停不下来?”
“谁能教教我‘变量’到底是什么?”
“学了三个月还是不会写A+B,我是不是不适合编程?”
看着这些评论,我的心情复杂难言。在这个世界里,连最基本的输入输出和变量概念都成了难以逾越的鸿沟。
我继续浏览着这个 凋敝的 洛谷。用户活跃度低得可怜,最近一周的提交记录只有几百条。讨论区里大部分是求助帖,但回答者寥寥,而且给出的解答也往往不尽人意。
“题解”区域更是贫瘠,官方只提供了最基本的解法,用的都是那个笨拙的EasyCode语言。以P1002求和为例,官方题解竟然是用:
print once 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100
而不是高斯求和公式。
一个大胆的想法在我心中萌生。
我点击了注册按钮,创建了一个名为 “wujinyu2012” 的账号。熟悉的个人界面(内容维护中,主页暂不可见),熟悉的今日运势(大凶),只是这一次,我的起点与所有人都不同。
我的目光落在了那个空白的“创建题目”按钮上。
也许,是时候为这片荒漠引入一点来自另一个世界的 “洪水” 了。
但我很快冷静下来。直接创建dp题目可能会吓死所有人,我需要一个更循序渐进的方式。
我决定从改写题解开始。
点开P1001 A+B Problem的题解区,我新建了一个题解。没有使用这个世界的EasyCode,而是直接使用了C++:
cpp
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}
(当时想写高精度的,抛给deepseek结果给我写成依托史,只能写a+b了)
在解释部分,我详细讲解了每一行代码的含义,从#include的作用,到cin/cout的用法,再到变量的定义和基本运算。我尽量用最浅显的语言,解释这些在原来世界里属于常识的概念。
写完题解,点击提交。系统提示“审核中”。
我打了个哈欠,看了眼时间,已经是凌晨四点。关掉电脑,我带着一种奇特的期待感进入了梦乡。
第二天是周日,我睡到下午才起床。第一件事就是打开电脑,登录洛谷。
私信图标上显示着红色的 。我愣住了。
我点开题解页面,评论区已经炸开了锅:
“我的天!这是什么语言?好简洁!”
“cin和cout是什么?比EasyCode的input和print简单多了!” (其实没简单夺少)
“楼主是神犇吗?求带!”
“看了你的解释,我终于明白变量是什么了!”
“这种语言在哪里可以学?”
私信更是五花八门:
“🐉👃,C++是什么?” (其实是龙逼啦)
“你是哪个学校的?怎么这么厉害?”
“我在做一个项目,能请教你一些问题吗?”
“你的题解是我看过最清楚的,能不能多写一些?”
我一条条翻阅着这些信息,内心涌起一股暖流。在这个信息学 凋敝 的世界里,依然有这么多渴望学习的人,他们只是缺少正确的引导。
接下来的几个小时,我沉浸在回复评论和私信的快乐中。我耐心解答每一个问题,从最基本的语法到编程思维,知无不言。
下午三点,我注意到我的题解已经被顶到了第一位,点赞数超过了所有其他题解的总和。更让我惊讶的是,洛谷官方账号也关注了我,并私信问我是否有兴趣成为官方认证的题解作者。(怎么可能
就在这时,一个特别的私信引起了我的注意。发信人的ID是“CookieCar”,头像正是特训班的李教授。
(当时想到CookieCar我真的不行了哈哈哈哈哈哈哈哈哈)
“wujinyu2012同学,果然是你。看到这个题解的风格,我就猜到了。你的C++水平比我想象的还要扎实。周日的特训班临时取消,但我希望你能准备一个关于C++基础的分享,下周在特训班上进行。另外,我建议你不要一次性放出太多高级内容,循序渐进更重要。”
我看着这条信息,会心一笑。
接下来的整个下午,我都在规划如何系统地帮助这个世界的编程学习者。我创建了一个“C++从零开始”的系列讨论,从开发环境搭建到最基本的语法,计划每周更新两期。
傍晚时分,当我再次查看洛谷时,发现了一件更有趣的事——已经有人开始模仿我的代码风格了。
在P1002求和的提交记录中,我看到了这样的代码:
cpp
#include <iostream>
using namespace std;
int main() {
int sum = 0;
for (int i = 1; i < 100; i++) {
sum = sum + i;
}
cout << sum << endl;
return 0;
}
虽然还有一些小错误,但整体已经像模像样了。
这种被认可、被追随的感觉,比任何成就都让我感到满足。
晚上,我收到了同桌李明的消息:“我靠!那个洛谷上的wujinyu2012是不是你?我们编程群里都在传你的题解!”
我回复了一个微笑的表情。
“真的是你!大神求带!我们整个群都想学你那个C++!”
我看着屏幕上不断跳出的消息,嘴角不自觉地上扬。
夜深人静时,我开始了新的计划。我在洛谷上创建了一个名为“wujinyu2012的编程挑战”的题单,精心设计了十道题目,从最简单的输出练习到基础的条件判断和循环应用。
在题单介绍中,我写道:“这是一个给新手的挑战,不需要高深的算法,只需要你有一颗热爱学习的心。完成所有挑战的同学,将有机会获得一对一指导。”
设置完最后一道题目的验收标准,我伸了个懒腰。窗外的月光洒在键盘上,为这个平凡的夜晚增添了几分诗意。
而洛谷,这个我曾经奋战过无数个日夜的平台,将再次成为我新的战场。只不过这一次,我的身份不再是仰望神犇的蒟蒻,而是引领方向的开拓者 (崩铁好玩吗) 。
关闭电脑前,我看了眼个人主页上那个醒目的 “AC” 数量——虽然现在还只有寥寥几题,但我知道,用不了多久,这个数字将会以惊人的速度增长。
毕竟,在我的脑海中,还装着另一个世界的整个题库,另一个世界的洛谷,另一个世界的智慧。
洛谷,明天见。