• 个人简介

    🖥️ 你是第 位点进来偷看简历的“准大佬”


    本人账号:

    我的装备:


    $\huge{\color{red}我}\huge{\color{orange}不}\huge{\color{yellow}是}\huge{\color{green}天}\huge{\color{cyan}才}$ $\huge{\color{blue}我}\huge{\color{purple}只}\huge{\color{magenta}是}\huge{\color{red}把}\huge{\color{orange}别}\huge{\color{yellow}人}$ $\huge{\color{green}喝}\huge{\color{cyan}奶}\huge{\color{blue}茶}\huge{\color{purple}的}\huge{\color{magenta}时}\huge{\color{red}间}$ $\huge{\color{orange}用}\huge{\color{yellow}来}\huge{\color{green}调}\huge{\color{cyan}试}\huge{\color{blue}段}\huge{\color{purple}错}\huge{\color{magenta}误}$

    // 本人签名档(编译期常量)
    constexpr char 座右铭[] = "只要能跑,就不算烂代码";
    constexpr bool 有头发 = false;          // 常量表达式,永不改变
    

    📑 信奥赛选手の超长说明书(目录)

    1. 开局一张图,身份全靠编
    2. ASCII 手绘:我和评测机的爱恨情仇
    3. 互动①:OIer の MBTI 人格分裂测试
    4. 互动②:C++ 作死等级考试(信奥限定版)
    5. 互动③:考场上睡着后的文字冒险
    6. 互动④:代码盲盒小游戏(猜输出 & 找 bug)
    7. 互动⑤:关于我的 20 个快问快答(信奥特供)
    8. 🧊 信奥冷笑话合集(Warning:内含栈溢出)
    9. 隐藏彩蛋(点击就送 Accepted)
    10. 致所有在 OI 路上卷生卷死的少年

    ⚠️ 阅读须知:本文长达 8888 字,大概需要你 3 次课间休息 + 1 次信息课摸鱼时间读完。全程没有一句真话,但每一句都是 OIer 的真实心声。


    1️⃣ 开局一张图,身份全靠编

    ID:@RecursiveWind(递归の风)
    真实姓名:陈·CtrlZ·风(因为老是撤销操作)
    学校:某不知名强校“代码附中”
    年级:高一(心理年龄已是退役老将)
    

    一句话简介:

    一个把 #define int long long 当护身符,把 freopen 刻进 DNA,把 return 0 当成人生目标的普通高中生。

    竞赛履历(省流版):

    • CSP-J/S:那年我双手插兜,不知道什么是对拍,结果 T2 爆零(简称:初生牛犊不怕虎,虎是评测机)
    • NOIP:暴力打满,骗分过样例,题目叫“动态规划”,我写成了“动态摸鱼”
    • 省选:Day1 玩了一天的 system("pause"),Day2 用 srand(time(0)) 赌命,最后差了 5 分进队
    • 当前状态:正在洛谷刷题,AC 数 1145(别问,问就是强迫症刚凑整),WA 数 2333

    自我认知(严肃脸):

    真实水平=看题解时的智商自己写时的智商\text{真实水平} = \text{看题解时的智商} - \text{自己写时的智商}

    其中,看题解时智商可达 180180,自己写时智商约等于 log2(1)=0 \log_2(1) = 0


    2️⃣ ASCII 手绘:我和评测机的爱恨情仇

    图 1:我眼中的自己(帅气的算法天才)

              .-.
             /   \       <- 头发还在,但正在以 O(n^2) 的速度脱落
            |  O O |     <- 盯着屏幕,瞳孔里反射出绿色的 AC
            |   ⌄   |
             \ ___ /
              /   \
             /     \
            /  卷   \
           /  到 死  \
          /___________\
         | 键盘冒火  |
         |___________|
    

    图 2:评测机眼中的我(提交了 114514 次)

             +-------------------+
             |   评测机  (Judge)  |
             +-------------------+
             |                   |
             | 收到一个提交..    |
             | 开始编译..        |
             | error: '脑子'     |
             |   was not        |
             |   declared.      |
             |                   |
             +-------------------+
                    ↑
                    │ (扔回去)
                    │
       我:  (´;︵;`) 改 bug...
    

    图 3:我的递归函数与系统栈

             主函数 main()
                │
                ├─ dfs(1)
                │    │
                │    ├─ dfs(2)
                │    │    │
                │    │    ├─ dfs(3)
                │    │    │    │
                │    │    │    └─ dfs(4)  <--- 这里爆栈了
                │    │    └─  (栈帧: 救命)
                │    └─  (栈帧: 我也救不了)
                └─  (栈帧: 全体阵亡)
                
      系统提示: Segmentation fault (core dumped)
      我: 核心转储了,我的心也转储了。
    

    3️⃣ 互动环节 ①:OIer の MBTI 人格分裂测试

    本题专为信奥选手定制,每道题选 A 或 B,最后统计看你是哪种“卷怪”。

    第 1 题:拿到一道新题,你的第一反应是?

    • A. 先看数据范围,决定用什么算法(n20n \le 20 就状压,n105n \le 10^5 就线段树)
    • B. 不管三七二十一,先写个暴力 DFS,然后骗分

    第 2 题:写了一个小时发现思路错了,你会?

    • A. 冷静分析,推翻重来,重写前先画图
    • B. 在原来的代码上打补丁,直到它变成一个“能跑但不知道为啥能跑”的怪物

    第 3 题:关于 #define int long long,你的态度是?

    • A. 必加,不加会死,这是信仰
    • B. 不加,我要精准控制内存,用 int 才是硬核

    第 4 题:比赛还剩 30 分钟,你还有一道 100 分的题没做,你会?

    • A. 放弃正解,写个 O(n2)O(n^2) 暴力拿部分分,能拿多少拿多少
    • B. 相信自己能 30 分钟想出正解,结果最后 5 分钟开始狂写,没写完

    第 5 题:看到大佬的题解写了 200 行,而你只写了 50 行,你会?

    • A. 觉得自己的代码更优美,常数更小,沾沾自喜
    • B. 觉得大佬肯定有深意,开始学习大佬的写法,然后把自己代码改成 300 行
    🔽 点击查看你的 OIer 人格类型(附带毒舌评价)

    统计规则:A 多 = 稳健派,B 多 = 赌怪派。

    • 5A: “稳如老狗”型 🐶。你这种人不适合打比赛,适合去做评测机。但话说回来,省队最喜欢你这种。
    • 4A: “理性人”型 🤓。你会算期望得分,知道什么时候该放弃,保底省一没问题。
    • 3A / 3B: “正常人”型 😶。会在考场上纠结,有时贪心,有时莽撞,像极了爱情。
    • 4B: “赌狗”型 🎲。你的座右铭是“暴力出奇迹,骗分过样例”。你赌赢过几次,但大多数时候在 Day2 结束后哭。
    • 5B: “赛博赌圣”型 🃏。你不适合写代码,适合去买彩票。评测机看到你的代码都要抖三抖。

    💬 我的真实情况: 我是 3A 3B 反复横跳,取决于当天早上有没有喝咖啡。


    4️⃣ 互动环节 ②:C++ 作死等级考试(信奥限定版)

    满分 100 分, 全部做完再点答案,不许作弊!(作弊了我也看不到,但你良心会痛)

    选择题(每题 20 分,共 100 分)

    第 1 题(送分题): 下面这段代码在 n=200000 时,时间复杂度是多少?

    for(int i=1;i<=n;i++)
        for(int j=i;j<=n;j+=i)
            cnt++;
    
    • A. O(n)O(n)
    • B. O(nlogn)O(n \log n)
    • C. O(nn)O(n \sqrt{n})
    • D. 评测机冒烟级复杂度 O(n2)O(n^2)

    第 2 题(脑筋急转弯): memset(dp, 0x3f, sizeof(dp)) 之后,dp[0] 的值约等于多少?

    • A. 00
    • B. 10611095671061109567
    • C. 0x3f3f3f3f0x3f3f3f3f
    • D. 编译器报错,因为 memset 是按字节赋值的

    第 3 题(常识题): 在 Linux 下用 g++ 编译,加上 -O2 优化后,以下哪种写法的代码可能被“优化”成意想不到的结果?

    • A. for(int i=0;i<100000000;i++); (空循环延时)
    • B. int a = 1; if(a == 1) do_something();
    • C. while(1);
    • D. 以上都不会

    第 4 题(玄学题): 你在考场上交了一发 TLE,你决定:

    • A. 卡常:把 intregister int,把 ++ii++(反向优化)
    • B. 换算法:把 O(n2)O(n^2) 改成 O(nlogn)O(n \log n)
    • C. 加 #pragma GCC optimize(3),赌评测机认这行
    • D. 在代码开头加 #include <bits/stdc++.h>,然后祈祷

    第 5 题(送命题): 以下哪种 STL 容器在随机插入/删除时最慢?

    • A. vector
    • B. list
    • C. deque
    • D. map (红黑树)
    🔽 点击查看答案与毒舌解析(先做完再看!)

    答案与解析:

    1. B。调和级数!这个循环是 n/1+n/2+...+n/n=nlognn/1 + n/2 + ... + n/n = n \log n。选 D 的同学,建议重修《数据结构》第一章。

    2. BC 都对!0x3f3f3f3f 的十进制就是 1061109567。选 A 的同学,你是不是以为 memset 会直接赋值 0x3f?回去看 C++ 基础!

    3. A-O2 会直接把空循环优化掉,你以为你在延时,其实编译器帮你跳过了“等死”的过程。选 C 的,while(1) 是死循环,编译器没法优化掉,除非它能证明宇宙热寂。

    4. 选啥都行。这道题其实是心态题。信奥赛的真相是:选了 C 的人,如果评测机是洛谷(支持 #pragma),你赢了;如果是 CCF 的老年评测机,你输了。

    5. Avector 在中间插入简直是灾难,它会把后面的元素全部挪动。选 D 的,红黑树插入是 O(logn)O(\log n),比 vectorO(n)O(n) 快多了。你是不是把 mapunordered_map 搞混了?

    评分(在心里给自己打个分):

    • 100 分:大佬,带我飞。
    • 80 分:省一预备役。
    • 60 分:刚好及格,能拿个二等奖。
    • 40 分:你不是 OIer,你是来搞笑的。
    • 20 分以下:……你确定不是来修电脑的?

    5️⃣ 互动环节 ③:考场上睡着后的文字冒险

    这是一个关于“你”在 NOIP 考场上梦游的故事。请跟随内心选择,结局千奇百怪。

    第一章:梦的开始

    NOIP Day1。你拿到试卷,翻到 T1,发现是道“红题”(入门难度)。你 5 分钟切掉,然后翻到 T2。

    T2 是道“动态规划 + 数据结构优化”。你盯着题面看了 20 分钟,毫无头绪。这时,昨晚熬夜打 CF 的困意涌上来……

    你决定:

    • A. 掐自己大腿,保持清醒,继续想正解 → 去第二章
    • B. 反正不会,趴桌上睡 15 分钟,醒来灵感就来了 → 去第三章
    • C. 直接写个 dfs 暴力,然后开始检查 T1 有没有爆 int → 去第四章

    第二章:清醒者的挣扎

    你坚持不睡,用草稿纸推了满满两页。突然,你发现这道题可以用“斜率优化”做!

    但问题来了: 你只记得斜率优化的公式,不记得怎么维护凸包了。

    你会?

    • A. 现场手推凸包维护过程,相信自己数学能力 → 结局 ①
    • B. 放弃斜率优化,写个 O(n2)O(n^2) 的 DP,拿 60 分跑路 → 结局 ②
    • C. 在代码里写 // TODO: 斜率优化,然后直接输出样例骗分 → 结局 ③

    第三章:玄学的 15 分钟

    你趴下睡了 15 分钟。醒来时,口水流到了答题卡上(还好是草稿纸)。你擦了擦嘴,突然发现自己看懂了 T2!

    你狂写代码,还剩 30 分钟时写完了。但是——编译报错 10 个。

    你会?

    • A. 冷静看报错,一个个改 → 结局 ④
    • B. 把报错信息复制到百度翻译,然后改 → 结局 ⑤
    • C. 删掉所有报错行,只保留能编译通过的部分 → 结局 ⑥

    第四章:暴力党的倔强

    你写了个华丽的 dfs,剪枝剪得天花乱坠。你觉得至少能拿 30 分。然后你开始检查 T1。

    结果你发现 T1 你忘了开 long long

    你会?

    • A. 赶紧改掉 T1,然后继续优化 T2 的剪枝 → 结局 ⑦
    • B. 绝望,觉得自己 Day1 要废了,心态爆炸 → 结局 ⑧
    • C. 淡定地在 T1 前面加了一行 #define int long long,然后发现 main 函数报错了,又改回来……→ 结局 ⑨
    🔽 点击查看你的结局(含人生哲理)

    结局 ① 数学之神 🧮:你成功手推凸包,AC 了 T2。你成了考场的传说,但代价是你后面所有题都没时间做了。你最后拿了省一,但头发少了 1/3。

    结局 ② 稳健的凡⼈ 😌:60 分到手,加上 T1 的 100 分,你 Day1 考得不错。你不是英雄,但你进了省队。OI 有时候不需要炫技,暴力分拿满就是神。

    结局 ③ 样例输出法 😎:你骗了 5 分。评委看到你的代码:“这是人?” 你:“不,这是艺术。” —— 后来你转行做了产品经理。

    结局 ④ 冷静大佬 🧊:你 10 分钟改完 bug,成功 AC。你看了看表,还有 20 分钟,你开始检查 T3 的暴力。你是时间管理大师。

    结局 ⑤ 百度翻译侠 🌐:你发现报错信息是英文,你用百度翻译翻了 10 分钟,终于看懂了“expected ‘;’”是什么意思。你改了分号,然而还有 9 个报错。时间到。

    结局 ⑥ 暴力删代码流 🪓:你删掉了一半代码,编译器终于通过了。你提交了一个 O(n!)O(n!) 的算法,期望能过 n=1n=1 的数据。结果 n2n \ge 2,你爆零了。

    结局 ⑦ 细节控 🕵️:你救了 T1 的 100 分,T2 的暴力拿了 30 分。Day1 总分 130。你靠着 Day2 的超常发挥,卡线进了省队。救命的往往是细节。

    结局 ⑧ 心态崩盘 💔:你 T2 也没心思写了,T3 直接输出 0。Day2 你直接弃疗。但别灰心,很多大佬都崩过,IOI 金牌选手也有过 NOIP 没过的黑历史。

    结局 ⑨ 永远的 int long long 梗 😅:你把 main 改成了 signed main,成功拯救了 T1。你花了 10 分钟在这个上,但 T2 的暴力因此少写了一个剪枝。这个故事告诉我们:宏定义一时爽,调试火葬场。


    6️⃣ 互动环节 ④:代码盲盒小游戏(猜输出 & 找 bug)

    🎮 游戏 1:玄学输出预测

    不要运行!凭你的 OI 直觉,猜猜这段代码在 C++17 下输出什么?

    #include <iostream>
    using namespace std;
    
    int main() {
        int a = 10, b = 20;
        auto add = [=](int x) mutable { return a + x; };
        a = 100;
        cout << add(5) << endl;
        return 0;
    }
    
    • 选项 A: 105
    • 选项 B: 15
    • 选项 C: 编译错误
    • 选项 D: 25
    🔽 点击揭开谜底(顺便附赠暴击)

    答案是 B (15)。

    因为 Lambda 表达式用了 [=](值捕获),它在定义时就拷贝了 a=10 的值。后面你改成 100 关我 Lambda 什么事?这就是“闭包”的任性。

    💀 如果你选了 A:说明你把 Lambda 当引用捕获用了,以后去面试会被问哭的。
    如果你选了 C:放心,C++ 没这么容易报错,只有 Python 才会这么矫情。
    如果你选 D:25 是哪来的?你是不是把 10+5 算成了 25?建议回去重修小学数学。


    🎮 游戏 2:火眼金睛找 Bug(信奥赛现实版)

    下面这段“动态规划”代码,是某位同学在考场上写的。它看似能跑,其实有 3 个逻辑/语法/漏洞。请你找出来:

    #include <bits/stdc++.h>
    using namespace std;
    const int N = 1005;
    int dp[N][N], a[N];
    int n;
    
    int solve() {
        for(int i=1; i<=n; i++)
            for(int j=1; j<=n; j++) {
                dp[i][j] = max(dp[i-1][j], dp[i][j-1]);
                if(a[i] == a[j]) dp[i][j] = max(dp[i][j], dp[i-1][j-1] + 1);
            }
        return dp[n][n];
    }
    
    int main() {
        cin >> n;
        for(int i=1; i<=n; i++) cin >> a[i];
        cout << solve();
        return 0;
    }
    
    🔽 点击揭晓 3 个 Bug(血压预警)

    Bug 1:数组越界访问
    循环 i=1, j=1 时,dp[i-1][j]dp[0][1] 没问题,但 dp[i][j-1]dp[1][0]。你初始化 dp 为全局变量默认是 0,如果访问到 dp[0][0] 还好。但如果这是一个局部变量呢?致命伤在于边界处理不严谨。

    Bug 2:逻辑漏洞
    这是个求“最长公共子序列 (LCS)”的代码,但一般情况下 LCS 是比对两个不同序列,这里只用了一个 a 数组比对自身。它在求“最长回文子序列”吗?不是。它在求“一个序列和它自己的最长公共子序列”,结果就是 n 本身! 这算法在 OI 里叫“白给算法”。

    Bug 3:没有处理输入失败
    如果 cin >> n 失败(比如文件末尾),程序照样跑,然后 dp 全 0,输出 0在 OI 赛场上,文件读写没做好,评测机给你个空文件你就爆零了。

    🧠 魔鬼细节:在真正的考场,这代码可能 AC 不了任何题,但它可以作为“对拍器”来验证数据是不是对称的。


    7️⃣ 互动环节 ⑤:关于我的 20 个快问快答(信奥特供版)

    1. Q:你打 OI 几年了? A:3 年,但感觉像过了 30 年(因为度日如年)。
    2. Q:你最喜欢的算法? A:深度优先搜索(因为它的缩写是 DFS——Damn Fast Search,至少我这么认为)。
    3. Q:你最讨厌的报错? A:TLE。它不像 WA 给个提示,它直接判你死刑,缓期 1 秒执行。
    4. Q:你写 for 循环用 i++ 还是 ++i A:++i,因为据说快一点——虽然心理作用大于实际效果,就像考试前转锦鲤。
    5. Q:你的 Codeforces 账号? A:有,但 Rating 是绿色的,很配我的校园卡颜色。
    6. Q:你刷过多少道题? A:没数过,但我的提交记录里 Compilation Error 占了一半。
    7. Q:你背过板子吗? A:背过,但比赛时模板和题目总是匹配不上,就像穿错了鞋。
    8. Q:你抄袭过题解吗? A:那怎么能叫“抄袭”?那叫“借鉴了前人的智慧结晶”,简称“CV 工程师”。
    9. Q:你觉得自己能进省队吗? A:量子力学说,在打开榜单之前,我既是进队了,也是没进队(叠加态)。
    10. Q:你熬夜打 CF 吗? A:打,第二天上数学课,我在梦里跑 dfs,把函数栈跑炸了,结果被老师点名。
    11. Q:你的 include 只写 <bits/stdc++.h> 吗? A:是的,记不住别的头文件,懒是程序员第一生产力。
    12. Q:你写注释吗? A:写,比如 // 这段代码是从网上抄的,但改了一下变量名,应该没人发现
    13. Q:你有什么竞赛小技巧? A:多喝热水,以及卡常的时候把 for 循环倒着写(for(int i=n; i; --i)),据说能让评测机感觉你在跑正着写时一半的路程。
    14. Q:你最辉煌的时刻? A:有一次对拍,随机数据把我自己写的正解给卡 WA 了,那一刻我觉得我是天才(因为发现了 bug)。
    15. Q:你最社死的时刻? A:在洛谷发题解,代码块里忘记删 freopen,被评论区群嘲“文件流战士”。
    16. Q:你相信 srand(time(0)) 能改变命运吗? A:信,就像我信“这发 submit 肯定 AC”一样,都是信仰。
    17. Q:你的键盘哪个键磨损最快? A:CtrlCV 三键套装,已经磨得发白了。
    18. Q:你觉得 OI 最重要的是什么? A:心态。以及一台不会在最后 5 分钟蓝屏的电脑。
    19. Q:退役后想干嘛? A:想当教练,然后告诉学生:“当年我比你菜多了,你行的。”
    20. Q:最后一句? A:祝你 return 0;,人生正常退出且无报错。

    8️⃣ 🧊 信奥冷笑话合集(含 OI 硬核梗,非懂勿入)

    笑话 1:爆栈

    为什么 OIer 从不坐电梯? 因为电梯里有“栈(站)”,他们怕爆栈。

    笑话 2:排序

    冒泡排序、选择排序、快速排序,谁最淡定? 快速排序,因为它在“分治(支)”的时候从来不慌。

    笑话 3:图论

    在图论里,什么点最孤独? 孤立点。因为它没有 degree(度数/学位),找不到对象。

    笑话 4:指针

    C++ 的指针和爱情有什么区别? 指针可以 delete,爱情删不掉,还会内存泄漏。

    笑话 5:递归

    今天讲递归。
    学生:“老师,我没听懂。”
    老师说:“那你回去再听听我讲递归的录播。”
    学生:“那我要是还听不懂呢?”
    老师说:“那就再听一遍,直到听懂——这就是递归的终止条件。”

    笑话 6:评测机

    我对着评测机祈祷:“求求了,这次 AC 吧。”
    评测机说:“好的。”
    然后返回了一个 Compilation Error
    我:“你管这叫 AC?”
    评测机:“‘Attempting Compile’ 也是 AC 啊。”

    笑话 7:bits/stdc++.h

    #include <bits/stdc++.h> 是所有头文件的爸爸。
    那谁是妈妈?
    using namespace std;,没有它,爸爸再厉害,孩子也找不到家。

    笑话 8:贪心算法

    贪心算法找工作: 每次都选当前看起来最好的 offer。
    最后发现工资最高的是“996 福报”,但它陷入了局部最优解,错过了后面“955 摸鱼”的全局最优。

    笑话 9:树状数组

    树状数组为什么叫树状数组? 因为它既不是树,也不是数组,它像极了我的期末成绩——看着像高分,其实是低分加了点 lowbit

    笑话 10:Dijkstra

    Dijkstra 走在路上,看到前面有个岔路口,他说:“我要找最短路径。” 于是他没走岔路,直接撞墙了。 因为他忘了处理“负权边(墙)”。

    🔽 冷场指数评估
    • 如果你看懂了一半:你是正儿八经的 OIer,欢迎来到地狱。
    • 如果你全看懂了:你的 OI 生涯已经占了内存的 90%,建议清一清缓存,出去晒晒太阳。
    • 如果你一个都没看懂:你肯定是刚入门,快跑!别学 OI!——开玩笑的,欢迎入坑。

    9️⃣ 隐藏彩蛋(点击就送 Accepted)

    🥚 彩蛋 1:字符串匹配

    在这篇文章中,“摸鱼”出现了 正好 5 次(算上这次是 6 次)。这不是 Bug,这是 Feature。
    如果你从头滑到尾只是为了找“摸鱼”,那你已经摸鱼成功了。

    🥚 彩蛋 2:信仰之跃

    如果你把这篇文章的每个“爆零”都替换成“AC”,你将在心理上获得 AK(全场满分)的满足感。
    温馨提示:现实不会改变,但心情会变好。

    🥚 彩蛋 3:终极奖励(真的能拿分?)

    🔽 点击这里,你会获得一道“签到题”

    题目: 输出 Hello, OI!
    输入:
    输出: Hello, OI!

    这道题是给未来的你做的。不管你现在水平如何,保持这份热爱,就是满分答案。


    🔟 致所有在 OI 路上卷生卷死的少年

    亲爱的战友:

    我知道,你正在经历什么。

    是调了 3 个小时的 Segment Tree 最后发现是 build 函数写错了下标; 是在考场上看到 T1 是模拟,但模拟的对象是“猪国杀”; 是凌晨两点盯着蓝色的屏幕,黄色的 WA 字眼刺痛了眼睛; 是听到别人说“OI 没用,不如学文化课”时,心里那一点点不甘心。

    但我想告诉你:

    没关系。

    爆零过,才知道 AC 的快乐有多浓烈; TLE 过,才知道常数优化的必要性; 抄袭题解过,才知道自己写出来的那一刻有多帅; 退役过(或者即将退役),才知道那段与代码为伴的日子,有多纯粹。

    这个世界上,很少有人能理解我们为什么对着一个黑框框傻笑。 但我们知道,那是 Accepted 的绿色。

    愿你:

    复杂度永远在多项式时间人生永远在线性时间内找到最优解\text{复杂度永远在多项式时间} \land \text{人生永远在线性时间内找到最优解}

    —— 一个还在刷题,但永远不会 break 掉热爱的 OIer


    — END —

    全文真正结束。感谢你浪费了宝贵的刷题时间来看我废话。快去写代码!别磨蹭了! 🏃‍♂️💨

    回到顶部

  • 最近活动